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