Replies are now generated in a separate thread

And logging goes to file. This means the show can go on even if there's
an error handling a response.