Previously the IEventStore interface SaveAsync would take in an aggregate to save the events. In reality the logic for aggregates should have been part of the aggregate repository itself and just pass the events through the store rather than passing the aggregate itself. This prevented non aggregate events from being saved through the IEventStore abstraction when a consumer may not have been using the aggregate implementations (e.g. non event-sourced behaviour)
Previously the IEventStore interface SaveAsync would take in an aggregate to save the events. In reality the logic for aggregates should have been part of the aggregate repository itself and just pass the events through the store rather than passing the aggregate itself. This prevented non aggregate events from being saved through the IEventStore abstraction when a consumer may not have been using the aggregate implementations (e.g. non event-sourced behaviour)