class_docstr: Globally unique counter-based id manager.
  
  We need globally unique key ids for Module and Variable object instances
  to preserve and recreate sharing-by-reference relationship when lifting
  transforms and adopting outside Modules.
  - Use of id() is unacceptable because these identifiers are literally
    pointers which can be recycled, so we rely on a globally unique counter id
    instead.
  - We need to handle copy/deepcopy uniqueness via a wrapped type.
class_docstr_tok: ["Globally","unique","counter-based","id","manager",".","We","need","globally","unique","key","ids","for","Module","and","Variable","object","instances","to","preserve","and","recreate","sharing-by-reference","relationship","when","lifting","transforms","and","adopting","outside","Modules",".","-","Use","of","id","(",")","is","unacceptable","because","these","identifiers","are","literally","pointers","which","can","be","recycled",",","so","we","rely","on","a","globally","unique","counter","id","instead",".","-","We","need","to","handle","copy\/deepcopy","uniqueness","via","a","wrapped","type","."]
code: def __call__(self):
      with self._lock:
          self._id += 1
          return UUID(self._id)
  
file_path: flax/flax/experimental/nnx/nnx/ids.py
imports: import threading
label_desc: Use image node_id 2 for calling the UUIDManager obj's underlying member method code with example usage: obj.__call__() and returns: UUID