i do a foreach, first thing is the journal buffers all events currently known. i process those and while i do that, some other processes create new events. when i reach the end of the buffered events, a new fetch is issued, that buffers another few events. while i process those, new events are generated...

maybe the right thing to do would be to store the time when we first fetch anything from the backend, and only continue until the etag timestamp is > that first fetch time. a cronjob wanting to process each event exactly once would have to store the last timestamp it saw in the actual event log. this still leaves glitches if things happened in the same millisecond...

what if the transport would return a ``EventBuffer extends ArrayIterator`` that holds the meta information along with an events buffer. the journal would essentially be a proxy on the buffer, except that on each skipTo it would discard the buffer. all parsing and paging logic including the re-fetch would move into the EventBuffer.