2.0.0 - major API change
  * changing the "go" event to be the "change" event
  * getting rid of enter and exit "levels"
  * adding the ability to return a future from enter and exit handlers, which will cause child enter handlers to only run when those resolve and handle errors that come out of the futures properly
  * adding the ability to return a future from error handlers, which if resolve to an error will propogate to the next error handler up