pub trait IsFinished { fn finished(&self) -> bool; } pub trait Step { fn step(&mut self, context: &mut C) -> Result; }