Event Batch Writer
class EventBatchWriter(store: EventStore, scope: CoroutineScope, capacity: Int = DEFAULT_CAPACITY, maxBatchSize: Int = DEFAULT_BATCH_SIZE, flushIntervalMs: Long = DEFAULT_FLUSH_INTERVAL_MS, onDrop: (StoredEvent, EventBatchDropReason) -> Unit = { _, _ -> }, onStored: suspend (List<StoredEvent>) -> Unit = {})
Bounded persistence worker. It receives only EventEnvelope values emitted after the redaction boundary and commits 100 events or the pending batch every 250 ms.