class_docstr: Attribute tracker, used for e.g. Variable tracking.
  
  Monitors certain attribute types
  and put them in appropriate lists in case of a match.
  
  Also passively tracks certain mutable collections
  (dict, list) so that items added to them later
  still get tracked. This is done by wrapping these
  collections into an equivalent, tracking-aware object.
  
  Usage:
  
  ```python
  def __init__(self):
      self.tracker = Tracker(
          # Format: `name: (test_fn, store)`
          {
              "variables":
                  (lambda x: isinstance(x, Variable), self._variables),
              "metrics": (lambda x: isinstance(x, Metric), self._metrics),
              "layers": (lambda x: isinstance(x, Layer), self._layers),
          }
      )
  
  def __setattr__(self, name, value):
      if hasattr(self, "_tracker"):
          value = self._tracker.track(value)
      return super().__setattr__(name, value)
  ```
code: def __init__(self, config):
      self.config = config
      self.stored_ids = {name: set() for name in self.config.keys()}
      self.locked = False
      self._lock_violation_msg = None
  
imports: from functools import wraps
  from keras.backend.common.global_state import get_global_attribute
  from keras.backend.common.global_state import set_global_attribute
  from keras.utils import python_utils
label_desc: Use image node_id 1 to create a new Tracker object  with example: obj = Tracker(config)