def filter(event, value)
      each(event.signal) do |observer|
        value = observer.call(event, value)
      end
      event.return_value = value
      event
    end
def filter(event, value)
      each(event.signal) do |observer|
        value = observer.call(event, value)
      end
      event.return_value = value
      event
    end
Let all registered observers modify a given value. The observable can
 then use the {Event#return_value} to get the filtered result back.

 You could use {#filter} to let observers modify arguments to a method
 before continuing to work on them (just an example).

 @param [Event]
 @param [Object] value
 @return [Event]