pub async fn start( bind: SocketAddr, bind_control: SocketAddr, external_events: impl Stream<Item = Event> + Unpin, ) -> Result<(u16, impl Future<Output = Result<()>>), ErrReport>