pub trait MetaSignature: Send + Sync {
// Required methods
fn demos(&self) -> Vec<Example>;
fn set_demos(&mut self, demos: Vec<Example>) -> Result<()>;
fn instruction(&self) -> String;
fn input_fields(&self) -> Value;
fn output_fields(&self) -> Value;
fn update_instruction(&mut self, instruction: String) -> Result<()>;
fn append(&mut self, name: &str, value: Value) -> Result<()>;
}