pub trait HostWatcherProxyInterface: Send + Sync {
    type WatchResponseFut: Future<Output = Result<Vec<HostInfo>, Error>> + Send;
    type SetActiveResponseFut: Future<Output = Result<HostWatcherSetActiveResult, Error>> + Send;
    // Required methods
    fn watch(&self) -> Self::WatchResponseFut;
    fn set_active(&self, id: &HostId) -> Self::SetActiveResponseFut;
}