Event
Base class for events recorded in the EventLog.
This sealed class ensures a restricted hierarchy of event types that can be securely serialized and persisted.
Any data recorded needs to be able to work on other systems (e.g. forensic analysis) and in the future where the user might have deleted the document that they presented.
As such, data should be copied into the event and use of identifiers to point to e.g. documents, credentials, or trust entries is only allowed if there it's optional or not the only source of truth.