Improve fixed for #110. Also fixes #156 by properly invoking the AsyncHandler/WebSocketListener