 
         layoutSwitch()
     }
-
-    override func mouseDown(with event: NSEvent) {
-        let push: Double = Double(outlineWidth + width) - Double(height)
-        NSAnimationContext.runAnimationGroup({ (context) in
-            context.duration = 0.3
-            context.allowsImplicitAnimation = true
-
-            let adjustment = (toggleSize/4)
-            widthConstraint?.isActive = false
-            widthConstraint = circle.widthAnchor.constraint(equalToConstant: toggleSize+adjustment)
-            widthConstraint?.isActive = true
-
-            if isOn {
-                leftConstraint?.constant = CGFloat(push)-adjustment
-            }
-            animator().layoutSubtreeIfNeeded()
-        })
-    }
-
-    override func mouseUp(with event: NSEvent) {
-        isOn = !isOn
-    }
-
-    //================================================================================
-    // MARK: Helpers
-    //================================================================================
 
     fileprivate func layoutSwitch(resetingLayout: Bool = false) {
         if resetingLayout {

    }

    /// Change the width of the border on the toggle
    public var toggleBorderWidth: CGFloat = 2 {
        didSet { circle.layer?.borderWidth = hasToggleBorder ? toggleBorderWidth : 0 }
    }

    /// Change the radius of the complete toggle
    public var radius: CGFloat {
        get {
            if let r = _radius { return r }
            return (height-(outlineWidth*2))/2

    // MARK: Public Parameters
    //================================================================================

    @IBInspectable public var isOn = false {
        didSet { animate() }
    }

    /// Change the toggle border on and off
    @IBInspectable public var hasToggleBorder = true {
        didSet { circle.layer?.borderWidth = hasToggleBorder ? toggleBorderWidth : 0 }
    }

    /// Change the width of the outline border
    @IBInspectable public var outlineWidth: CGFloat = 2 {
        didSet {
            backVw.layer?.borderWidth = outlineWidth
            layoutSwitch(resetingLayout: true)
