split State into its own file
changed the binding. This is now done explicitly for each passed function to the options object of StateMachine
Server now uses the new binding mechanism