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 typeIdentifier and
aggregateIdentifier. The implementation may choose to process this call synchronously (i.e. in the
caller's thread), asynchronously, or ignore the call altogether.
typeIdentifier - the type of the aggregate to take the snapshot for
aggregateIdentifier - The identifier of the aggregate to take the snapshot for