I still think the issue is with the context. If I could save the context of a connection and then reuse it the next time I create a connection for that user, then my guess is that I'd be able to remove the old listeners.