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

        let leftOffset = frame.size.width * leftPercentage / (valueDivisor / 2.0)
        let rightOffset = frame.size.width * rightPercentage / (valueDivisor / 2.0)
        
        leftCaliperView.frame.origin.x = frame.origin.x + (frame.size.width * leftPercentage) - leftOffset + 2
        leftCaliperView.frame.origin.x = CGFloat(Int(leftCaliperView.frame.origin.x))
        
        rightCaliperView.frame.origin.x = frame.origin.x + frame.size.width - (frame.size.width * rightPercentage) + rightOffset - 4.0
        rightCaliperView.frame.origin.x = CGFloat(Int(rightCaliperView.frame.origin.x))
        
        leftTrackView.frame.size.width = (frame.size.width * leftPercentage) - leftOffset + 1
        leftTrackView.frame.size.width = CGFloat(Int(leftTrackView.frame.size.width))
        
        rightTrackView.frame.size.width = (frame.size.width * rightPercentage) - rightOffset + 1
        rightTrackView.frame.size.width = CGFloat(Int(rightTrackView.frame.size.width))
            
        rightTrackView.frame.origin.x = frame.origin.x + frame.size.width - 2.0 - rightTrackView.frame.size.width
        rightTrackView.frame.origin.x = CGFloat(Int(rightTrackView.frame.origin.x))
        return true
    }
    


class AccurateSlider: UISlider {

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