Add broadcast mechanism to State base class

Decouple State from observers by providing an interface (IStateListener)
through which listeners may receive state change requests. StateAction
enumerates stack operations.