             case NeedsTracking.TrackEnterExitOnly:
                 if let tracking = tracking { self.removeTrackingArea(tracking); }
                 
-                let newTracking = NSTrackingArea(rect: bounds, options: NSTrackingAreaOptions.MouseEnteredAndExited.union(NSTrackingAreaOptions.ActiveInKeyWindow), owner: nil, userInfo: nil);
+                let newTracking = NSTrackingArea(rect: bounds, options: NSTrackingAreaOptions.MouseEnteredAndExited.union(NSTrackingAreaOptions.ActiveInKeyWindow), owner: self, userInfo: nil);
                 tracking = newTracking;
                 self.addTrackingArea(newTracking);
                 break;

        let newMousePos = convertPoint(event.locationInWindow, fromView: nil);
        var leftDown    = self.leftMouseDown.value;
        var rightDown   = self.rightMouseDown.value;
        var mouseOver   = self.mouseOver.value;
        let pressure    = event.pressure;
        
        switch (event.type) {

        case NSEventType.LeftMouseUp:       leftDown = false; break;
        case NSEventType.RightMouseDown:    rightDown = true; break;
        case NSEventType.RightMouseUp:      rightDown = false; break;
        default:                            break;
        }
        
