Correct methods in client factory and protocols. Change address
and other details.

Initial code for client factory and protocols were taken from
server equivalents. Adjust instance methods accordingly.

Change address to be the public DNS for the hub server.

Handle the 'id' key in the json object.
Remove TODO comment which is now addressed