I got the impression that setTimeOut is bad and requestAnimationFrame is good. So I dutifully refactored:
setTimeOut
requestAnimationFrame
document.addEventListener(