An Event Manager receives events requiring action. The events are parsed
into event action types which are placed in an Event Queue. Program
agents in a pool of agents are dynamically instantiated and retired from
the pool based on the number of queued events by type. Program agents,
when available, initiate a search for a work entry on the Event Queue
that is of a type that the agent can handle. When an agent finds work,
the corresponding Event Queue entry is marked as assigned to the agent
and the agent performs the action associated with the work entry.