The Client Controller components apply a workflow or process flow to the user interface
elements within an application.
The goal is to let the screen navigation model for an application evolve independently from the
This component has two distinct flavors.
The first is a simple state machine for controlling UI flow that also works with Struts.
The second is a simple implementation of a command-driven FrontController.