In IE9 you have both `attachEvent` and `bind`, but you are right i was too hasty. I will refactor for IE <= 8.
Should we also use
```js
function () {
  self.cleanup();
}
```
for the `addEventListener` case?