Function debouncedTimeout
- debouncedTimeout(intervalMs?, task?): { 
    cancel: (() => void); 
    setInterval: ((newInterval) => number); 
    setTask: ((newTask) => (() => void)); 
    start: ((newIntervalMs?, newTask?) => void); 
} Parameters
intervalMs: number = 1000
Optional task: (() => void)
Returns { 
    cancel: (() => void); 
    setInterval: ((newInterval) => number); 
    setTask: ((newTask) => (() => void)); 
    start: ((newIntervalMs?, newTask?) => void); 
}
cancel: (() => void)
setInterval: ((newInterval) => number)
- (newInterval): number
 Returns number
setTask: ((newTask) => (() => void))
- (newTask): (() => void)
 Returns (() => void)
start: ((newIntervalMs?, newTask?) => void)
- (newIntervalMs?, newTask?): void
 Parameters
Optional newIntervalMs: number
Optional newTask: (() => void)
Returns void