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