pub trait ClientApi {
// Required methods
fn connect(&mut self, selection: ConnectSelection) -> Result<(), Error>;
fn disconnect(
&mut self,
reason: DisconnectReason,
responder: Sender<()>,
) -> Result<(), Error>;
fn is_alive(&self) -> bool;
}