Javadoc
Base interface to denote an Action.
An Action consumes a Signal which represents an Event.
An Action instance is produced by an ActionFactory.
All Action types inherit this base Action interface. Action
subtypes are defined in conjunction with a corresponding Signal
subtype and ActionFactory.
For each specific event, Users of the system implement
the corresponding ActionFactory type and Action type.
Users of the system register an ActionFactory type for a given
type of Signal they wish to receive.