     }
     
     open func open() {
-        guard !isOpen else { return }
-        guard !isAnimatingOpenClose else {
-            bufferedAction = bufferedAction ?? .open
-            return
-        }
+        guard !isOpen && !isAnimatingOpenClose else { return }
         
         delegate?.actionButtonWillOpen?(self)
         

        reduceOverlay()
        reduceItems()
        transitionButtonTitle()
        
        isOpen = false
    }
    
    

    fileprivate var buttonOpenCenter: CGPoint = .zero
    fileprivate var isAnimatingOpenClose = false
    fileprivate var isAnimatingShowHide = false
    
    fileprivate let slideAnimationOffset: CGFloat = 20.0
    fileprivate let scaleAnimationOffset: CGFloat = 0.5
