EventLoop Driver internal restructuring
So, this had been meant to contain more stuff, but realistically I haven't even looked at in a while and may as well get it merged now before proceeding with further developments. This should hopefully be uncontroversial. For the most part this is just moving some code around in preparation of splitting the BatchDriver
up into multiple Manager
objects, each with its own responsibility and hopefully each testable independently.