I think the main reason we started using `window.foo` was for `document`--we ran into a couple of bugs where someone would declare a variable like `doc` to refer to a Brackets Document, and then start using `document` accidentally, without JSLint catching it (since we would have `document` in globals). So we wanted to use `window.document` everywhere instead. I'm not sure we absolutely needed to do that for things like `setTimeout()`, though.