             }
         }
     }
-    
-    fileprivate var progressTrackShapeLayer: CAShapeLayer = CAShapeLayer()
-    
-    fileprivate var progressShapeLayer: CAShapeLayer = CAShapeLayer()
-    
-    fileprivate var playShapeLayer: CAShapeLayer = CAShapeLayer()
-    
-    fileprivate var pauseShapeLayerLeft: CAShapeLayer = CAShapeLayer()
-    
-    fileprivate var pauseShapeLayerRight: CAShapeLayer = CAShapeLayer()
-    
-    @IBInspectable open var progressColor: UIColor = salmonColor
-    
-    @IBInspectable open var progressTrackColor: UIColor = lightGray
-    
-    @IBInspectable open var playColor: UIColor = darkGray
-    
-    @IBInspectable open var pauseColor: UIColor = darkGray
+
+    private var progressTrackShapeLayer: CAShapeLayer = CAShapeLayer()
+    
+    private var progressShapeLayer: CAShapeLayer = CAShapeLayer()
+    
+    private var playShapeLayer: CAShapeLayer = CAShapeLayer()
+    
+    private var pauseShapeLayerLeft: CAShapeLayer = CAShapeLayer()
+    
+    private var pauseShapeLayerRight: CAShapeLayer = CAShapeLayer()
+    
+    @IBInspectable public var progressColor: UIColor = salmonColor
+    
+    @IBInspectable public var progressTrackColor: UIColor = lightGray
+    
+    @IBInspectable public var playColor: UIColor = darkGray
+    
+    @IBInspectable public var pauseColor: UIColor = darkGray
     
     //
     //  If actions are not disabled, the progress layer's strokeEnd update will animate by default. Because we update this so many times a second, like 60
     //  times a second, there will be a noticeable lag in the view's representation of the path w/r/t where the current strokeEnd actually 'is'. Turning off animations
     //  solves this b/c the path updates immediately, and since we're updating at such a high number of times per second, it looks smooth when one's looking watching the view.
     //
-    @IBInspectable open var progressStrokeEnd: CGFloat = 0 {
+    public var progressStrokeEnd: CGFloat = 0 {
         didSet {
             if progressStrokeEnd < 0 || progressStrokeEnd > 1 {
                 self.resetProgressLayer()

        sharedInit()
    }
    
    fileprivate func sharedInit() {
        self.addTarget(self, action: #selector(SVGPlayButton.touchUpInsideHandler), for: UIControlEvents.touchUpInside)
    }
    
    override open func draw(_ rect: CGRect) {
        
        //
        // Pause
        //

            return pauseLinePath
        }
        
        pauseShapeLayerLeft.path = pauseLine(position: .Left).cgPath
        pauseShapeLayerLeft.fillColor = pauseColor.cgColor
        pauseShapeLayerLeft.isHidden = self.playing ? false : true
        self.layer.addSublayer(pauseShapeLayerLeft)
        
        pauseShapeLayerRight.path = pauseLine(position: .Right).cgPath
        pauseShapeLayerRight.fillColor = pauseColor.cgColor
        pauseShapeLayerRight.isHidden = self.playing ? false : true
        self.layer.addSublayer(pauseShapeLayerRight)
