         stackView._setCenterAlignWith(view: self, offset: stateViewCenterPositionOffset)
         
         //
-        if case SDStateTableViewState.withButton(_, _, _, _, _, _) = currentState {
+        if case SDStateTableViewState.withButton(_, _, _, _, let configCallback, _) = currentState {
             actionButton.isHidden = false
-            if let configCallback = buttonConfigCallback {
-                configCallback(actionButton)
-            }
+            configCallback(actionButton)
         } else {
             actionButton.isHidden = true
         }

    var actionButton = UIButton.autolayoutView()
    
    var buttonAction: (() -> Void)?
    private var buttonConfigCallback: ((UIButton) -> Void)?
    
    public var currentState: SDStateTableViewState = .unknown {
        didSet {
            if case SDStateTableViewState.dataAvailable  = self.currentState {

            configureWith(image: image, title: title, message: message)
        case .withButton(let errorImage, let title, let message, let buttonTitle,
                         let buttonConfig, let buttonAction):
            configWithButton(image: errorImage, title: title, message: message,
                             buttonTitle: buttonTitle,
                             buttonConfig: buttonConfig,
