     private let panelHeight: NSLayoutConstraint
     private let panelBottom: NSLayoutConstraint
     // Precomputed for positionVersePopup
-    private let sliderRange: CGFloat
-    private let sliderOrigin: CGFloat
+    private let thumbWidth: CGFloat
     // Transient State Variables
     private var scrubSliderDuration: CMTime
     private var scrubSliderDrag: Bool

        self.positionLabel = position
*/
        // UI control shadows
        self.playButton.layer.shadowOpacity = 0.5
        self.playButton.layer.shadowOffset = CGSize(width: 2.0, height: 1.0)
        verse.shadowOpacity = 0.5
        verse.shadowOffset = CGSize(width: 1.0, height: 0.5)
        scrub.layer.shadowOpacity = 0.5
        scrub.layer.shadowOffset = CGSize(width: 2.0, height: 1.0)
        
        self.initNotifications()
        print("***** Init AudioBibleView *****")
    }

        self.scrubSlider = scrub
        
        self.scrubSlider.translatesAutoresizingMaskIntoConstraints = false
        self.scrubSlider.topAnchor.constraint(equalTo: self.audioPanel.topAnchor, constant: 40.0).isActive = true
        self.scrubSlider.leadingAnchor.constraint(equalTo: self.audioPanel.leadingAnchor,
                                                  constant: 20.0).isActive = true
        self.scrubSlider.trailingAnchor.constraint(equalTo: self.audioPanel.trailingAnchor,
