pub trait Callback<Ctx> { fn call(&self, context: &mut Ctx) -> Behave; fn boxed(self) -> Box<dyn Callback<Box<dyn Any + Send>> + Send> where Self: Sized, { ... } }