Allow Event to explicitly define attributes
Currently an event can have an arbitrary number of attributes, we should allow them to be explicitly defined.
Something like:
module Ma
class Event < Struct
def self.initialize(*attributes)
super(*attributes, keyword_init: true)
end
end
end
class MyEvent < Ma::Event.new(:user)
end
# or MyEvent = Ma::Event.new(:user)