UPDATE: debounce FSM is fully functional