def notify_until(event)
      each(event.signal) do |observer|
        event.process! and break if observer.call(event)
      end
      event
    end
def notify_until(event)
      each(event.signal) do |observer|
        event.process! and break if observer.call(event)
      end
      event
    end
Same as {#notify}, but halt execution as soon as an observer has
 indicated it has handled the event by returning a non-falsy value.

 An event that was acted upon by an observer will be marked as processed.

 @param [Event]
 @see Event#process!
 @return [Event]