module Rocketman class Event def initialize(event, payload) @event = event @payload = payload Rocketman::Registry.register_event(event) end def notify_consumers consumers = Rocketman::Registry.get_consumers_for(@event) return if consumers.nil? || consumers.empty? consumers.each do |consumer, action| consumer.instance_exec(@payload, &action) end end end end