Why is rhfsm different from other state machine implementations?
Other state machine implementations require you to define all possible states and events at compile time. With rhfsm you just have the machine with a root state. Whatever attatches to that state, and when which state will transit to another, does not interest the machine at any time. Whenever a transit is requested by a state the machine attempts to traverse along the tree and complete the transition. Another notable feature is the fact that this state machine is truly hierarchical using a tree to manage states and their substates. Other implementations may work hierarchical, but you still have to store all the transition and event data at one single level within the machine. In rhfsm each state decides by itself when and to where it will transit. Since rhfsm traverses recursively you should be aware that transitions over great depths can lead to a stack overflow. This depends on the hardware it is running on. Having much to deeply recursive states is an indicator for bad design, anywa