Register stopListening once instead of wrapping

I'm not sure how to best cleanup the `onces` map. Any ideas?

```javascript
var onces = name;
if (typeof onces !== 'object') {
    onces = {};
    onces[name] = callback;
}
for (event in onces) { ... }
```
I thought the same at first, but it returns `obj` not `this`. The tests caught it for me. :smile: