I have a few comments about the Event Dispatcher component.
First, I really don't like using a bool return value to stop events
propagation with notifyUntil, I think $event->stopPropagation() as
implemented in ECMAScript is much more readable by anyone than a cryptic
return value, and it can't be called by mistake, while someone could
return true out of habit.
Second, I would like to have a $event->preventDefault() - again as in
ECMAScript. Granted this will probably not be as useful in the php
world, but I think it still makes sense for the event listeners to be
able to tell the invoker that their job has been handled and that the
default action shouldn't take place. So if you call
$dispatcher->notify(), the return value would be false if preventDefault
was called on the event, allowing for simple conditionals.
Granted you could (ab)use the filter function for that, but that is less
than ideal.
Cheers,
Jordi