If you think the above code has bad performance because "event bindings are slow" then your preferred form using `bind` is going to have all of that and more; it sidesteps nothing (except extremely fast switch case matching) and only adds overhead, both in runtime and memory costs.
> Where's the benefit other than making things more verbose?
To be clear what you're asking, are you saying that:
elm.addEventListener('mousedown', this);
... is more verbose than:
elm.addEventListener('mousedown', this.handleMouseDown.bind(this))