class Woodhouse::TriggerSet

  def initialize
    @triggers = {}
  end

  def add(event_name, &blk)
    @triggers[event_name.to_sym] ||= []
    @triggers[event_name.to_sym] << blk
  end


  def trigger(event_name, *args)
    (@triggers[event_name.to_sym] || []).each do |trigger|
      trigger.call(*args)
    end
  end

end