Add Events which enables to split the eventstream to keep it short
Right now we have no possibility to split up the stream for an aggregate. This could be handy if the stream gets really long, or even if the business needs some kind of splitting it up. For the first concern we have the snapshots in place, but this should be seen as an cache layer, so no real "shortening" of the stream is done and needs to be invalidated as soon as something is changed for the aggregate internals, there comes https://github.com/patchlevel/event-sourcing/issues/226 into play.
So we could introduce a new Attribute which signals that a split should be done before the event is proccessed. Then we could split on specific events which like could occur monthly or so (tbd by business) which will trigger this. The Store must handle then the multiple streams or we could define that these splitting events need all data an aggregate needs to be re-created, kina like a snapshot. Then we could archive the stream before and move it somewhere else or just mark it as archived via Metadata. This would result then in a big archived stream which is not used for re-creating the aggregate and a small not archived which will be used.