pub trait ClientProxyInterface: Send + Sync {
    type ListServicesResponseFut: Future<Output = Result<(Status, Vec<ServiceInfo>), Error>> + Send;
    // Required methods
    fn list_services(
        &self,
        uuids: Option<&[String]>,
    ) -> Self::ListServicesResponseFut;
    fn connect_to_service(
        &self,
        id: u64,
        service: ServerEnd<RemoteServiceMarker>,
    ) -> Result<(), Error>;
}