Represents a state. This state is managed by
StatePool.
Note that a
State objects should be persistable. Currently, the
State objects are persisted using the Jackson JSON library. Hence the
implementors of the
State interface should be careful while defining
their public setter and getter APIs.