         if let button = fanMenu.button {
             self.fanMenu.onItemWillClick?(button)
             
-            self.updateState(open: open) {
-                self.fanMenu.onItemDidClick?(button)
+            self.updateState(open: open) { [weak self] in
+                self?.fanMenu.onItemDidClick?(button)
             }
         }
     }

        
        node = [backgroundCircle, buttonsNode, buttonNode].group()
        
        buttonNode.onTouchPressed { _ in
            if let animationValue = self.animation {
                if animationValue.state() != .paused {
                    return

    }
    
    public func updateNode() {
        guard button != nil else {
            self.node = Group()
            self.scene = .none
            return
