Gamgine.State.StateTree
data StateTree a
type EnterWhen
type LeaveWhen
data StateTransition
root
enterState
leaveState
handleKeyEvent
handleMouseEvent