This is a very nice edition so let me start by saying thanks to those involved with getting this put together.
In the last 6 months I have become very attached to the Fabrication code base that can be used to eliminate much of the need to write "glue" code in the mediators etcetera. The State Machine is not exactly playing nice with this stuff and I really do not want to have to make a decision as to using one or the other (pureMVC+Statemachine as opposed to PureMVC+Fabrication). Yes, I know, I want to have my cake and eat it too..then ride a rollercoaster and maybe go for a nice skateboard ride
The issue arises when you are trying to write your notification handlers in the mediator for your application. With Fabrication, you don't need to use listNotificationInterests....you jsut write the handler out prefixed with "respondTo".
So a note called "userModelChanged" could be easily picked up in the mediator by writing up a function named "respondToUserModelChanged" and BAM you are off to the races.
Unfortunately the State Machine "changed" note name contains forward slashes and prevents us from using Fabrication. I thought for a moment maybe I could just handle the state changed using "pure" pureMVC listNotificationInterests methods. But Fabrication sees this and will not respond to other "respondTo" methods.
I REALLY wanted to continue usage of Fabrication along with this State Machine so I dug in and altered the Static constant for the "changed" name to be "stateChanged" instead of "StateMachine/states/changed".
This seemed to have no impact on the way the state machine operates and allowed me to write my "respondToStateChanged" and my originally needed "respondToUserProxy" handlers so Fabrication can do its awesome magic.
Of course I am now forced to use the uncompiled source, but hey! It works!
I have converted the StopWatch example to use Fabrication on top of pureMVC and the State Machine.
For some reason I also had to register the commands for them to execute. Could someone explain how the slash notation in the currentState.name is really meant to be used? I see other constants in the example using this notation and just wanted to be more clear about the impact of my own changes.
Thanks again!