I have been working with the State Pattern for several months now. It is a great way to control an application in a Kung Fu sort of way. It has a very hands off director feel to it. I am planning on writing up a full doc on my take on the pattern and an implimentation of it, based off of the MyXaml MxStateMachine. I like the looks of MyXaml but it seems too declarative for me. I plan to impliment a code generation process to build the State Machine.