Fix for listenToOnce mem. leak

This is a failing test demonstrating #3226, then a patch that makes the test pass.
How about caching the arts from listenTo and then `this.stopListening.apply(this, arts)`