I find it kinda odd that the DragDrop class requires methods like startDrag, onDrag and several others to be overridden in order to add behavior. This design is fundamentally supports a single recipient - the overriding method. Does it make more sense to have events raised where any interested party can register a listener - kinda like the rest of Ext works?

I realize the Ext DD was modeled after YUI DD which has this method overriding style, but is there a reason for this API style over an event based API?

DragDrop seems like a good candidate where there are multiple listeners registered.


Edit: Okay, I understand why it is the current way - to allows classes to override the behaviour (as opposed to support an "event" of when a certation action was carried out). I think that in addition to the current behavior, it might be useful if these classes raised events.