| Action<S> | An action class represents a state transformation that can be performed
 on an object of type S. | 
| Action.Dependent<S> | Implement this interface if you want to have the action's transforming behaviour depend on the previous state. | 
| Action.Independent<S> | Implement this interface if you want to have the action's transforming behaviour not to depend on previous state. | 
| ActionChain<S> | A chain of transforming Actions that can be run for values of type S. | 
| ActionChainArbitrary<S> |  | 
| Chain<T> | A chain represents a series of states of type Tin which the previous state
 is somehow transformed into the next state. | 
| ChainArbitrary<T> |  | 
| ChangeDetector<T> | A change detector is used to determine if a stateful object has changed after the application of a transformer. | 
| Transformation<T> | A transformation provides an arbitrary of transformers 
 for values of type  T in the context of chains . | 
| Transformer<T> | A transformer is used to transform a state of type Tinto another value of this type. |