Observer/Publisher State Interface
This was originally conceived for use in an 'event' system utilizing publisher/observer design pattern for primus/falcraft. This interface could also apply to anything that has a changing state, such as a finite state machine.
Following is the original documentation from primus/falcraft
This is the state interface to be used in the observer/publisher pattern. Pretty straight forward, you set a state and get a state. The state can be any valid php value.
StateInterface | State Interface |