debounce for typed changes