# File lib/rubytorrent/util.rb, line 100
  def relay_event(who, *events)
    @event_handlers ||= Hash.new { [] }
    events.each do |e|
      raise "unknown event #{e} for #{self.class}" unless (self.class.class_eval "@@event_has")[e]
      raise "unknown event #{e} for #{who.class}" unless (who.class.class_eval "@@event_has")[e]
      @event_handlers[e] <<= [who, lambda { |s, *a| who.send_event e, *a }]
    end
    nil
  end