EventQueue<T>
Implements a template for a queue of work items each of which
is queued as a WaitCallback.
It can handle any event types.
Gets the count of items in the queue.
protected EventQueue()
Removes the first element from the queue and returns it (or null).
Enqueues the specified event
Stop processing of the queue