Debounce functions. Useful for implementing behavior that should only happen after a repeated action has completed.