Prevents leak of global

Uses an IIFE.
I prefer the syntax:
```javascript
(function() {
  // ...
}());
```