provides some classes to easily setup a finite state mschine in javascript