pub fn new(duration: Duration) -> Self {
        Self {
            value: None,
            duration,
            start: None,
        }
    }
Creates a new debouncer that will yield the latest value after the
provided duration Duration is reset after the debouncer yields a
value.
crates/turborepo-ui/src/tui/debouncer.rs