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

    /// Sets up the observers for this view
    ///
    private func setupObservers() {
        let bounds = self.bindKeyPath("bounds");
        
        // Computed that works out whether or not we need a tracking rectangle
        enum NeedsTracking {

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