Sorry, but in Canada programmers don't use state machines, they are called province machines
@ryanramage functional programmers are anarchists cause they want everything stateless