There's a lot of functional overlap between the batch design and tower-buffer's existing internals, so we'll just vendor its source code and modify it. If/when we upstream it, we can deduplicate common components.