 
     open func configureButton(withState state: CustomizableButtonState) {
         button.isEnabled = ![.disabled, .loading].contains(state)
+        isUserInteractionEnabled = button.isEnabled
         button.isHighlighted = state.contains(.highlighted) && !state.contains(.normal)
         set(active: state.contains(.loading))
+        setNeedsDisplay()
     }
 }
 

        }

        button.titleLabel?.isHidden = true
    }

    open func configure(with viewModel: CustomizableButtonViewModel) {

    private func configureConstraints() {
        button.pinToSuperview(with: appearance.buttonInsets)
        configureShadowViewConstraints()
        layoutIfNeeded()
    }

    private func configureSpinnerConstraints() {
