class ActiveSupport::Notifications::Fanout::Subscribers::EventObject

def build_event(name, id, payload)

def build_event(name, id, payload)
  ActiveSupport::Notifications::Event.new name, nil, nil, id, payload
end

def finish(name, id, payload)

def finish(name, id, payload)
  stack = IsolatedExecutionState[:_event_stack]
  event = stack.pop
  event.payload = payload
  event.finish!
  @delegate.call event
end

def publish_event(event)

def publish_event(event)
  @delegate.call event
end

def start(name, id, payload)

def start(name, id, payload)
  stack = IsolatedExecutionState[:_event_stack] ||= []
  event = build_event name, id, payload
  event.start!
  stack.push event
end