integrated state machine with cruks-lib-event/Event object
renamed 'args' parameter to 'async'
added StateSettings