pub trait IObject {
fn get_command_metadata_table(&self) -> CommandMetadataTable;
fn call_self_server_command(
&mut self,
command_fn: CommandFn,
protocol: CommandProtocol,
ctx: &mut ServerContext<'_>
) -> Result<()> { ... }
}