Split up client.py into multiple files
Separate out code for hub script into a separate file