Code cleanup
Refactor MessageEvent to LocalMessageEvent
Fixed a race condition in the BlockingPriorityQueue
Refactored isInterestedIn to matches
Abstracted communication and scheduler (big commit)
Added support for deferring