pub trait MonitorProxyInterface: Send + Sync {
type GetActionResponseFut: Future<Output = Result<Action, Error>> + Send;
type SetActionResponseFut: Future<Output = Result<(), Error>> + Send;
// Required methods
fn get_action(&self) -> Self::GetActionResponseFut;
fn set_action(&self, action: Action) -> Self::SetActionResponseFut;
}