self.client, self.log, self.clock should all be private.  That means prefixing them with an '_'.