pub trait Listener: Send {
// Required method
fn listen<'async_trait>(
self: Box<Self>,
sender: TransportRequestSender
) -> Pin<Box<dyn Future<Output = Result<JoinHandle<Result<()>>>> + Send + 'async_trait>>
where Self: 'async_trait;
}