BatchingCallback that delegates to an ExecutorService

Now the BatchingCallback can automatically schedule batches for processing on a given ExecutorService.