Reduced some of the duplication in the DSL (located in Stateful::ClassMethods) by delegating the creation of State objects from there to Stateful::States.