This is a delay-based debouncer, where given a minimum delay and an action to issue, we'll build a stateful component that will eventually issue the action once, after being given a slew of requests within the delay timeframe.
The initial debouncer
To bounce the debouncer, just make multiple calls to Bounce.
The state of the debouncer