pub trait Codec<T: CodecConfiguration>: CodecInfomation {
// Required methods
fn configure(
&mut self,
parameters: Option<&T::Parameters>,
options: Option<&Variant>,
) -> Result<()>;
fn set_option(&mut self, key: &str, value: &Variant) -> Result<()>;
}