Runs into an issue actually passing the event from the queue to the handlers.
Basic event looping works.  Next for handlers.
Adds a few more functions to the Sim monad.
Adds a few more functions to the Sim monad.
Adds tests for registering and deregistering handlers.