If you are throwing exceptions, you do not need to build pyramids of multiple `if else elsif` conditions.
reorganize:

```coffeescript
throw "No such state #{state}" unless @__isStateDefined(state)
throw "Transition is not allowed" unless @__isTrasitionAllowed(state)
```