Thanks all. That helps clarify a bit. What I'm trying to do is develop Cliff's suggestion from my other post, regarding moving through states to reach a destination. (reference: http://forums.puremvc.org/index.php?topic=1074.msg4916#msg4916 ).
Here is a simple diagram of my app states and the valid transitions:
(link) http://dl.getdropbox.com/u/113427/Application-States.png
It starts on "loading", then lands on "positive". User can move linearly through the states, indicated by the bi-directional arrows. You'll notice the identical states on either side - these are separate instances (I guess I should have indicated "+list" and "-list", "+content" and "-content").
So here's my plan:
1. Everything is driven by SWFAddress:
The url maps to an FSM action. When the url is changed (via an AddressChangeCommand that updates a SWFAddressProxy), the command parses out the action and desired state then sends an ACTION_REQUEST notification with desiredState in the body.
2. A DestinationStateMediator listens for ACTION_REQUEST notifications. Let's say the user is in +content and the URL is requesting -list, so the DestinationStateMediator needs to determine a valid path to get there, then send out the StateMachine.ACTION notification to move it a step in the right direction. I think DSM would also set a flag inTransition=true or something, and save a local requestedState var.
3. After StateMachine does its work and sends out the StateMachine.CHANGED, various mediators will respond depending on the current state to visually tween the app to reflect the current FSM state. When the tweens are done, the same mediator would send a VISUAL_STATE_CHANGED notification which the DSM would handle by checking the current FSM state against desiredState, then moving another step in the right direction toward requestedState and so on until it arrives.
I have various bits of this coded out but I'm not there yet. Any thoughts on this plan?