         NSLayoutConstraint.activate(constraints)
     }
     
+    private func addArrangedSubviewsForContainerStackView() {
+        var arrangedSubviews = [self.imageView, self.titlesStackView, self.chevronImageView]
+        
+        if let button = self.button {
+            arrangedSubviews.insert(button, at: arrangedSubviews.count - 1)
+        }
+        
+        containerStackView.arrangedSubviews.forEach { (view) in
+            containerStackView.removeArrangedSubview(view)
+        }
+        
+        arrangedSubviews.forEach { (view) in
+            containerStackView.addArrangedSubview(view)
+        }
+    }
+    
     @objc internal func handleTapGestureRecognizer() {
         guard let presenter = presenter, presenter.state == UINotificationPresenterState.presented else { return }
         notification.action?.execute()

        subviews.forEach { subview in
            subview.removeFromSuperview()
        }
        
        _containerStackView = nil
        setupView()
    }
    

        
        layoutMargins = UIEdgeInsets(top: 4, left: 0, bottom: 4, right: 0)
        
        addArrangedSubviewsForContainerStackView()
        addSubview(containerStackView)
        
        setupConstraints()
