Sometimes the initial state of a state machine depends on some outside source, lets say, your progress was saved to a db and next time you start the machine it should first get the state where you left of and use that as initial state.