 
 class AccurateSlider: UISlider {
 
-    private var leftCaliperView = UIView()
-    private var rightCaliperView = UIView()
-    private var leftTrackView = UIView()
-    private var rightTrackView = UIView()
+    private var leftCaliper = UIView()
+    private var rightCaliper = UIView()
+    private var leftTrack = UIView()
+    private var rightTrack = UIView()
     private var trackRect = CGRectZero
-    private let caliperViews:[UIView]
-    private let trackViews:[UIView]
-    private let caliperAndTrackViews:[UIView]
+    private let calipers:[UIView]
+    private let tracks:[UIView]
+    private let calipersAndTracks:[UIView]
     
     //MARK: - Setup Etc.
     
     required init(coder aDecoder: NSCoder) {
-        caliperViews = [leftCaliperView, rightCaliperView]
-        trackViews = [leftTrackView, rightTrackView]
-        caliperAndTrackViews = caliperViews + trackViews
+        calipers = [leftCaliper, rightCaliper]
+        tracks = [leftTrack, rightTrack]
+        calipersAndTracks = calipers + tracks
         super.init(coder: aDecoder)
     }
     
     override func didMoveToSuperview() {
         trackRect = trackRectForBounds(bounds)
         
-        caliperViews.map({ self.styleCaliperView($0) })
-        trackViews.map({ self.styleTrackView($0) })
+        calipers.map({ self.styleCaliperView($0) })
+        tracks.map({ self.styleTrackView($0) })
         
-        caliperAndTrackViews.map({ $0.alpha = 0 })
-        caliperAndTrackViews.map({ self.superview?.addSubview($0) })
+        calipersAndTracks.map({ $0.alpha = 0 })
+        calipersAndTracks.map({ self.superview?.addSubview($0) })
         
         resetCaliperRects()
     }

    }
    
    private func resetCaliperRects() {
        leftCaliperView.frame.origin.x = frame.origin.x + 2.0
        leftCaliperView.frame.origin.y = frame.origin.y + 1.0
        rightCaliperView.frame.origin.x = frame.origin.x + frame.size.width - 4.0
        rightCaliperView.frame.origin.y = frame.origin.y + 1
        leftTrackView.frame = CGRect(x: frame.origin.x + trackRect.origin.x, y: frame.origin.y + trackRect.origin.y, width: 2, height: trackRect.size.height)
        rightTrackView.frame = CGRect(x: frame.origin.x + frame.size.width - 2 - trackRect.origin.x, y: frame.origin.y + trackRect.origin.y, width: 2, height: trackRect.size.height)
    }
    
    //MARK: - UIControl Touch Tracking
    
    override func beginTrackingWithTouch(touch: UITouch, withEvent event: UIEvent) -> Bool {
        resetCaliperRects()
        UIView.animateWithDuration(0.2, animations: { self.caliperAndTrackViews.map({ $0.alpha = 1 }) })
        return super.beginTrackingWithTouch(touch, withEvent: event)
    }
    

    private func finishTracking() {
        UIView.animateWithDuration(0.4, animations: { () -> Void in
            self.resetCaliperRects()
            self.calipersAndTracks.map({ $0.alpha = 0 })
        })
    }
}
