client connection is no longer only a runnable - it is now a standalone thread as there is no point in using a thread pool here