             if hidden {
                 self.adjustSpacingIfPresenterHasSecondToolbar(hintHidden: hidden)
                 self.removeHint()
+                if let completion = completion {
+                    completion()
+                }
             } else {
-                self.dismissHint()
+                self.dismissHint(completion: completion)
             }
         })
     }

        }
    }

    func dismissHint() {
        self.task?.cancel()
        let task = DispatchWorkItem { [weak self] in
            self?.setHintHidden(true)
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + hintVisibilityTime , execute: task)
        self.task = task

        hintViewController.viewType = .default
    }

    func setHintHidden(_ hidden: Bool, completion: (() -> Void)? = nil) {        
        guard
            isHintHidden != hidden,
            let presenter = presenter,
            presenter.presentedViewController == nil
        else {
            if let completion = completion {
                completion()
            }
            return
        }

