Interface describing instances that are capable of creating snapshot events for aggregates. Although snapshotting
is typically an asynchronous process, implementations may to choose to create snapshots in the calling thread.
Schedules snapshot taking for an aggregate with given aggregateIdentifier. The implementation may
choose to process this call synchronously (i.e. in the caller's thread), asynchronously, or ignore the call
aggregateType - the type of the aggregate to take the snapshot for
aggregateIdentifier - The identifier of the aggregate to take the snapshot for