> In general my thought was that if we can add listeners, we should be able to remove them.

Maybe, but I prefer to introduce it when it's really needed. Carrying unused code around incurs a tax (in attention, time to refactor, etc) and I prefer to strip things down as much as possible. It's should be easy enough to reintroduce it at a later stage, and would make the interface really simple and stripped down, which is good.