Start separating out client handling into class