Don't override State.prototype, extend it.
Allow inheriting from State.
Naming functions to make backtraces more readable.