Most of AppKit in fact don't use the -[mouseDragged] and -[mouseUp]
events for tracking.
Really? Outside of things like buttons, that's an unfortunate
choice, isn't it? As the "Cocoa Event-Handling Guide" points out, a
class that handles dragging in this manner is "more difficult to
extend without the subclass reimplementing all the dragging code".
You'd think that extending AppKit classes would be a fairly common
thing to want to do...
NSTableView is one such class that has to do this. It needs to take
control of mouse tracking. It is unfortunate, as it makes more
difficult to subclass, but hopefully we have the appropriate hooks for
developers to do what they want. If there isn't, then please log bugs.