     }
     
     func reset() {
-        safeAreaBackgroundView?.removeFromSuperview()
-        safeAreaBackgroundView = nil
         dragHandleView?.removeFromSuperview()
         dragHandleView = nil
         containerViewYUponDragBegin = nil
-        containerViewWasPinnedToTopUponDragBegin = nil
         
         containerView?.removeFromSuperview()
         containerView = nil

    // MARK: Private
    
    private func setupViews(in viewController: ReplyComposableViewController, commentViewModel: TalkPageCellCommentViewModel) {
        
        setupSafeAreaBackgroundView(in: viewController)
        
        let containerView = UIView(frame: .zero)
        containerView.translatesAutoresizingMaskIntoConstraints = false

    @objc fileprivate func userDidPanContainerView(_ gestureRecognizer: UIPanGestureRecognizer) {
        
        guard let viewController = viewController,
        let containerView = containerView else {
            gestureRecognizer.state = .ended
            return
        }
        
        let translationY = gestureRecognizer.translation(in: viewController.view).y

        switch gestureRecognizer.state {
        case .began:
            let containerViewYUponDragBegin = containerView.frame.origin.y - viewController.view.safeAreaInsets.top
            self.containerViewYUponDragBegin = containerViewYUponDragBegin
            
            calculateTopConstraintUponDrag(translationY: translationY)
        case .changed:
