def create_unique_znode(self, znode_label, data=None):
        path = self.sibling_path(znode_label + "-" + self.guid + "-")

        try:
            created_path = yield self.client.create(
                path, data=data, ephemeral=True, sequential=True
            )
        except exc.NoNode:
            yield self.ensure_path()
            created_path = yield self.client.create(
                path, data=data, ephemeral=True, sequential=True
            )

        self.owned_paths[znode_label] = created_path