Beginnings of a state machine superclass
Consistent styling helps readability.
Temporary debugging output clutters new debug output.
Comparisons should be ordered as on a number line.

This makes it easier to reason about ranges and values, as one can
consistently think of larger values being on the right and smaller
values being on the left.
Transitions among states should be ordered.

Ordering allows the character developer to prioritize certain transitions over others.
"transitions" is a more descriptive name than "edges".
StateMachine:new will make a default object if none is passed, so remove dummy value.
Time events should happen every update.