&gt; Because now my class needs to know which handlers are are going to be called - which entirely defeats the primary benefit - of being able to add functionality without modifying the calling class.