# File lib/rubytorrent/util.rb, line 73
  def on_event(who, *events, &b)
    @event_handlers ||= Hash.new { [] }
    events.each do |e|
      raise ArgumentError, "unknown event #{e} for #{self.class}" unless (self.class.class_eval "@@event_has")[e]
      @event_handlers[e] <<= [who, b]
    end
    nil
  end