debounce method
Implementation
void debounce(VoidCallback? callback, {Duration? duration}) {
if (callback == null || _isDebouncing) return;
_isDebouncing = true;
_debounceTimer?.cancel();
safeExecute(callback);
_debounceTimer = Timer(
duration ?? ButtonSecurityConfig.defaultDebounceDuration,
() => _isDebouncing = false,
);
}