EventData contains the data for a single event before being persisted to storage.
@type t() :: %Commanded.EventStore.EventData{ causation_id: uuid() | nil, correlation_id: uuid(), data: struct(), event_type: String.t(), metadata: map() }
@type uuid() :: String.t()