Modernizr starts with the following:
window.Modernizr = (function(window,document,undefined) { ...
...but why have window and document been passed as parameters? Is it something to do with differences between browsers? Or is it simply so the can't be redefined?