FSM is a finite state machine for Rust.
It is heavily based on two FSM implementations:
Javascript Finite State Machine, https://github.com/jakesgordon/javascript-state-machine
Fysom for Python, https://github.com/oxplot/fysom (forked at https://github.com/mriehl/fysom)
Go of fsm http://godoc.org/github.com/looplab/fsm