EventSource.Error represents any error conditions that are useful to represent for event sources.
EventSource.Error represents any error conditions that are useful to represent for event sources. In particular, we need to know about attempts to store duplicate events.
An event source is an append-only store of data. Data is represented as a series of events that when replayed in order provides a view of the data at that point in time.
In this implementation, an event is represented by a Transform that is contained within an event (strictly speaking a Event could contain a series of Transforms, but we're not doing that here to keep things simple).
To implement an event source, one needs to:
TODO - make EventSource sit on top of EventStream