Tiny State Automaton (Finite State Machine) JavaScript library