The function implementing the state transition operation. Accepts the goal state, and returns a promise which is the resulting (ideally but not necessarily, the goal) state. If the returned promise is rejected, it indicates that the state hasn't changed and the goal cannot be reached.
The initial state.
Constructor.