pub trait SetupProxyInterface: Send + Sync {
type WatchResponseFut: Future<Output = Result<SetupSettings, Error>> + Send;
type SetResponseFut: Future<Output = Result<SetupSetResult, Error>> + Send;
// Required method
fn watch(&self) -> Self::WatchResponseFut;
// Provided method
fn set(
&self,
settings: SetupSettings,
reboot_device: bool
) -> Self::SetResponseFut { ... }
}