pub trait MetadataExt {
type Meta: Clone + Debug + Send + Sync + 'static;
// Required methods
fn metadata(&self) -> Option<&Self::Meta>;
fn metadata_mut(&mut self) -> Option<&mut Self::Meta>;
fn set_metadata(&mut self, meta: Self::Meta);
}