title: State Machine Frameworks for .NET
body: <p>We have a system at my work that is basically a message-driven state machine.  It takes in a variety of types of messages, looks up some context/state based on the message, then decides what to do, based on the message and the current state.  Normally the result is a message being sent out of the system.</p>
  
  <p>Are there any good open-source frameworks for implementing a state machine in .NET?  I've looked into the latest release of Windows Workflow, and it seems like it would be a good option; however, I have some concerns about the default persistence mechanisms (we need to report off the state transition data), testability, and the fact that the WF team is re-architecting the framework as we speak (supposedly).</p>
  
  <p>Instead of WF, I'm thinking of trying to implement a plain-old GoF "State" pattern, and using Spring.NET to wire everything together.  Is there anything out there that already does this, or something similar?</p>