Combinations of Controllers/Actions that span wider than 2-3 Actions are simple to code, but often result in extremely rigid and unflexible structures that are not easily extendable or modularized. The biggest example is for example a User Registration, this kind of process varies quite extremely in any kind of project. Some times it's enough to have a simple form + e-mail verification, sometimes you need a quite complex process with verification, invoicing, reviewing, etc. Currently it's often necessary to reimplement various of this things from the ground up.
I've been toying with a basic concept for a while in my head which could be shortly described as combination of controllers/actions that are tied together by conditions through a settings.yaml which share and manipulate a state that's automatically persisted.
###Terminology
Soul: The Soul is an entity containing the current state of the process Fragment: a Fragment is