docs: def register(self, itemtype, item_id, handler):
          '''
          register the item in zookeeper /list/
          itemtype must be a Zooborg constant
          item_id must be a string
          handler: method to call on conf change
          '''
          # Create a node with data
          #TODO: add system properties in data (ip, os)
          #TODO: add uniq client id
          if itemtype not in [ZooConst.CLIENT, ZooConst.WORKER, ZooConst.BROKER]:
              raise Exception('Zooborg.register: invalid type')
          self.initconn()
          self.zk.ensure_path("/distark/" + itemtype + "/list")
          path=''.join(['/distark/' + itemtype + '/list/', item_id])
          self.registred.append(path)
          data=b'ip̂,os'
          if not(self.zk.exists(path)):
              self.zk.create(path, data, None, True)
          else:
              self.zk.delete(path, recursive=True)
              self.zk.create(path, data, None, True)
          #reload conf if change in zoo
          self.zk.DataWatch('/distark/' + itemtype + '/conf/conf_reload_trigger',
                            handler)