 		}
 	}
 
+	var mouseDown: (() -> ())?
+	var mouseUp: (() -> ())?
+
 	private override func drawRect(dirtyRect: NSRect) {
 		let path: NSBezierPath
 		if cornerRadius.isZero {

	@objc override var opaque: Bool {
		return backgroundColor?.alphaComponent == 1
	}
}

public class View: Element {
	public var backgroundColor: NSColor?
	public var borderColor: NSColor?
	public var borderWidth: CGFloat
	public var cornerRadius: CGFloat

	public init(backgroundColor: NSColor? = nil, borderColor: NSColor? = nil, borderWidth: CGFloat = 0, cornerRadius: CGFloat = 0) {
		self.backgroundColor = backgroundColor
		self.borderColor = borderColor
		self.borderWidth = borderWidth
		self.cornerRadius = cornerRadius
	}

	// MARK: Element

			if fabs(cornerRadius - backgroundView.cornerRadius) > CGFloat(DBL_EPSILON) {
				backgroundView.cornerRadius = cornerRadius
			}

			configEventHandlers(backgroundView)
		}
	}

