Some tasks, like database inserts, are much more efficient to process in a batch. However, we generally want our tasks to be processed "soon" even if there's only one task. The TaskBatcher gem groups tasks by a taskname parameter, and starts a timer when the first task comes in. After the batch timer expires, it processes all tasks that it received in that time. (The caller provides the block to process the tasks.) Uses EventMachine under the hood. May be combined with Messenger for durability guarantees.