A javascript finite state machine library written in typescript heavily inspired by jakesgordon/javascript-state-machine