def copy(self):
c = copy.deepcopy(self)<EOL>for key in c.conns:<EOL><INDENT>c.conns[key] = self.conns[key].copy()<EOL><DEDENT>return c<EOL>
Create an inactive copy of the client object, suitable for passing
to a separate thread.

Note that the copied connections are not initialized, so reinit() must
be called on the returned copy.