module Semian::Instrumentable

def notify(*args)

payload (optional)
adapter (string)
scope (string)
resource (Object)
event (string)
Args:
def notify(*args)
  subscribers.values.each { |subscriber| subscriber.call(*args) }
end

def subscribe(name = rand, &block)

def subscribe(name = rand, &block)
  subscribers[name] = block
  name
end

def subscribers

def subscribers
  @subscribers ||= {}
end

def unsubscribe(name)

def unsubscribe(name)
  subscribers.delete(name)
end