         }
     }
     
-    var continuous: Bool = true // if set, value change events are generated any time the value changes due to dragging. default = YES
-    
-    @IBInspectable var thickness: CGFloat = defaultThickness {
+    public var continuous: Bool = true // if set, value change events are generated any time the value changes due to dragging. default = YES
+    
+    @IBInspectable public var thickness: CGFloat = defaultThickness {
         didSet{
             _unselectedTrackLayer.cornerRadius = self.thickness / 2.0
             self.layer.setNeedsLayout()
         }
     }
     
-    private var selectedBorderColor: UIColor? {
+    public var selectedBorderColor: UIColor? {
         set{
             _selectedTrackLayer.borderColor = newValue?.CGColor
         }

        self.commonSetup()
    }
    
    override func encodeWithCoder(aCoder: NSCoder) {
        super.encodeWithCoder(aCoder)
        
        aCoder.encodeObject(self.selectedColor, forKey: "selectedColor")

        return false
    }
    
    override public func continueTrackingWithTouch(touch: UITouch, withEvent event: UIEvent?) -> Bool {
        let pt = touch.locationInView(self)
        let newValue = valueForLocation(pt)
        self.setValue(newValue, animated: false)
