* Simplify the code
* Drop Boost.MSM dependency
* Drop threaded execution
* Support deferred state changes
* Monitor state changes/queues via callbacks
Standard FairRoot is running all the different analysis tasks within one process. FairMQ (Message Queue) allows starting tasks on different processes and provides the communication layer between these processes.