@manishtomar suggested this change to using deferLater instead of callLater so that we can return a deferred to the LoopingCall when we're fully done with processing the batch.