We are building a couple of Defend The Dome games in flash for the Atlanta Falcons and Ford, one is driving game where you get to drive an F150 from Flowery Branch to the GA down avoiding ladders, sofas and the things you see on i285, and you can get power ups, avoid cars, and take shortcuts if you get qualifying power ups. In that game I had a command that managed the "state" and managed the changes in state, but it was quite a bit of work and often felt a bit "hacky" where the command was really deciding things that mediators should decide for views.
For the 2nd game we are doing a sacking game, where you get to be John Abraham. This game is more like "dragons lair" where you watch video and then at strategic points you interact by entering a key sequence, or pounding your keyboard in a power meter. We have 4 progressively harder downs and lots of video cut scenes. For this I'm using the pureMVC Finite State Machine.
At first I wasn't sure it was going to help much, but after studying the stopwatch demo, and then using the FSM visualizer ( its very buggy, don't rely on it), I got a good picture of how complex the application was and how many states I'm going to need to manage. I think the FSM has easily saved me a ton of time and complexity due to it managing the state and dispatching notifications when the states change.
Here is a rough capture of the my state machine for the sacking game from the FSM visualizer, sorry its not "great" but the print function in the visualizer doesn't work and it also doesn't allow scaling or zoom of the image.
Once I'm done I'll also publish the XML so people can see what a not trivial FSM looks like in pureMVC.