I\'ve been experimenting with Stateless (HSM in C#) (https://code.google.com/p/stateless/) lately and I\'ve come across something that I\'m not really sure how to achieve.
Given that I found no native solution on Stateless to do what I asked, I ended up wrapping the .Fire(trigger) in a task
Task.Start(() => _stateMachine.Fire(trigger));
Doing so, means that the state machine does not advance itself per say, but it's rather advanced by an external source, solving the SO exception.