Generic debouncer