I want the Agent and Engine to encompass the capabilities of the system and let the EventHandlers be the glue. I'm envisioning a world where I can write an integration test that makes direct calls to the Engine and Agent, completely bypassing the event code altogether.