Forking workflow (http://www.geekq.net/workflow/) to add transactions, locking and conditional transitions.