pub trait System<A>: Send + 'static { // Required method fn run(&mut self, ctx: Ctx<'_, A>) -> Result<(), DomainError>; }