pub trait State<M: State<M>> { type Error: Debug; // Required method fn next(self) -> Result<Option<M>, Self::Error>; }
Represents state of a state machine M
Runs the current step and returns the next machine state or None if everything is done
None