Decouple BatchEventProcessor from the RingBuffer with the DataProvider interface