A short tale about state machine

Entities lifecycle is usually something more than create and delete. Models with which we are working on day to day basis change their state under some business circumstances. State machine patterns can be a powerful ally when solving this kind of problem.

How does it look like? What are the pros and cons of state machine usage? What are the things that we should be beware of?

I will answer these questions during my talk, together with practical differences between the most popular implementation (including Symfony Workflow of course ;)).