A human-readable description of what this state represents.
Commands that will trigger the state as being active.
Events that will trigger the state as being active.
Commands that will make the state become inactive.
Events that will make the state become inactive.
If a state is modal than it means that no other modal states can be running at the same time.
The name of the state. Used to reference it.
The state that this state depends on. If the parent state is not active then this state is not active either. However, if the parent state is reactivated and this state was sitting dormant (active but w/ no parent) then this state will be considered active.
Definition of a state that is placed into an ActiveState once it becomes active. No variables within a StateDefinition should be changed after instantiation.