pub trait TransitionHandler<K, V>where
K: Clone + IntoVal<Env, Val> + TryFromVal<Env, Val>,
V: Clone + IntoVal<Env, Val> + TryFromVal<Env, Val>,{
// Required methods
fn on_guard(&self, env: &Env, state_machine: &StateMachine<'_, K, V>);
fn on_effect(&self, env: &Env, state_machine: &StateMachine<'_, K, V>);
}