More work on event processing.

* I decided to write a wrapper for prepareEvents so that we don't end
up processing events more than we need to. It'd probably be ideal if
_prepareEvents could take batch requests and allocate them
appropriately. Maybe in the next commit.