 
 	var mouseDown: (() -> ())?
 	var mouseUp: (() -> ())?
+	var mouseExited: (() -> ())?
+
+	private var tracking = false
 
 	private override func drawRect(dirtyRect: NSRect) {
 		let path: NSBezierPath

	private override func mouseDown(event: NSEvent) {
		super.mouseDown(event)

		mouseDown?()
	}

	private override func mouseUp(event: NSEvent) {
		super.mouseUp(event)

		mouseUp?()
	}

	@objc var backgroundStyle: NSBackgroundStyle = .Light {

				strongSelf.mouseUp(strongSelf)
			}
		}

		view.mouseExited = { [weak self] in
			if let strongSelf = self {
				strongSelf.mouseExited(strongSelf)
			}
		}
	}
}
