         let progress = offsetWithInsets / (scrollView.contentSize.height - scrollView.bounds.height + insets)
         let y = offsetWithInsets + (scrollableHeight * progress)
         scrollBarView.frame.origin = CGPoint(x: x, y: y)
+        scheduleFadeOut()
     }
     
     // MARK: - Setup UI

    private var scrollBarView: UIView?
    private var panGestureRecognizer: UIPanGestureRecognizer?
    private let contentOffsetKeyPath = #keyPath(UIScrollView.contentOffset)

    // MARK: - Lifecycle
    

    }
    
    // MARK: - Private
    
    private func scheduleFadeOut() {
        fadeOutWorkItem?.cancel()
        fadeOutWorkItem = DispatchWorkItem() {
            [weak self] in
            UIView.animate(withDuration: Constants.fadeOutAnimationDuration) {
                self?.scrollBarView?.alpha = 0.0
            }
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + Constants.fadeOutAnimationDelay,
                                      execute: fadeOutWorkItem!)
    }
    
    private func removeOldScrollBar() {
        guard let oldScrollBarView = scrollBarView else { return }
