Split into threads; replying and handling of replies in one, sending in another.