An internal listener to state changes.
This interface is to be used by parties interested in being notified of
a particular state change.
StateChangeListeners are to be registered with an Agent by providing the
list of states for which to be notified.