Creates a batcher.
Creates a batcher. This instance should be thread-safe.
record type parameter
for logging
a batch will be submitted when record count reaches this number, it is assumed to be relatively small, see implementation of flush() for details
we'll submit a batch with this periodicity regardless of the outstanding record count
where to run background task, safe to use global if submitBatch is non-blocking
what to do with a batch of records, hopefully an asynchronous operation (fast call), must be thread-safe
constructed batcher