This does not correctly clean up the client object. There are still event listeners attached, so this will cause a memory leak. We should delegate this call to the client destructor.