Refactor most send/receive logic into Client
Initial joining logic complete