The JBoss Dependency State Machine
The core dependency mechanism is a state machine model of how to control contexts
of different types together with dependencies between them.
The aim is that contexts are added to the controller along with dependencies on other contexts
such that all the dependencies for a give state are satisfied before it progresses to that state.
Controller - The controller is the core engine that controls everything. Contexts are installed/uninstalled into it.
ControllerContext - The context is what is managed by the controller.
DependencyInfo - The dependencies of a context.
The core engine is developed in the dependency project of the microcontainer.