Thread pool for services
It would be nice if each client kept a small thread pool of service worker threads to avoid starting new ones as each request comes in.
Some references for how this can be done:
http://think-async.com/Asio/Recipes?skin=clean.nat,asio,pattern#A_thread_pool_for_executing_arbi http://stackoverflow.com/questions/19500404/how-to-create-a-thread-pool-using-boost-in-c