When passing functions as event callbacks, it is important that they are already bound. Binding functions when they are used:

```js
this.on('event', this.onEvent.bind(this));
```

means that they can't be unbound later. 
```js
this.off('event', this.onEvent);
```

as we have no reference to the function.