Move incoming messages to a separate queue
change to blocking queue
Add exceptions for extractEventClass
Handle exceptions from extractEventClass()
Remove unused imports
Add processNextEvent method

This method should be invoked by an external caller that manages
executing event mappings.  In other words, the thread that calls this
method will ultimately handle each event as they arrive.
Remove processing logic from onEvent()

Messages are simply queued for future processing.
Add documentation
Clear classToMethod hashmap before populating

This is necessary to deal with situations where the EventMap has
changed.
Add concurrent EventMapper extension