pub trait Handler: Clone { type Error: Error + 'static; fn handler(&self) -> Result<&Self, Self::Error> where Self: Sized; }