     }
     
     func reset() {
-        dragHandleView?.removeFromSuperview()
-        dragHandleView = nil
-        containerViewYUponDragBegin = nil
-        
-        containerView?.removeFromSuperview()
-        containerView = nil
-        containerViewTopConstraint = nil
-        contentViewBottomConstraint = nil
-        
-        contentView?.removeFromSuperview()
-        contentView = nil
-
-        viewController = nil
-        commentViewModel = nil
-        
-        displayMode = .partial
+        
+        animateOff {
+            self.dragHandleView?.removeFromSuperview()
+            self.dragHandleView = nil
+            self.containerViewYUponDragBegin = nil
+            
+            self.containerView?.removeFromSuperview()
+            self.containerView = nil
+            self.containerViewTopConstraint = nil
+            self.contentViewBottomConstraint = nil
+            self.containerViewBottomConstraint = nil
+            
+            self.contentView?.removeFromSuperview()
+            self.contentView = nil
+
+            self.viewController = nil
+            self.commentViewModel = nil
+            
+            self.displayMode = .partial
+        }
     }
     
     var isLoading: Bool = false {

        addDragHandle(to: containerView)
        viewController.view.addSubview(containerView)
        
        let trailingConstraint = viewController.view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor)
        let bottomConstraint = viewController.view.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
        let leadingConstraint = viewController.view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor)

        
        self.viewController = viewController
        self.commentViewModel = commentViewModel
        setupViews(in: viewController, commentViewModel: commentViewModel)
        apply(theme: viewController.theme)
    }
    
