make the event mechanism more reliable.

Insert messages into a default queue. 
When a subscriber joins they process the existing queue.
Added performance tests