code: def _wrap(self, value, priority=0):
          
  
          if not callable(value):
              raise TypeError("Only callable values can be stored in CallbackContainer")
  
          elif self.is_bound_method(value):
  
              # We are dealing with a bound method. Method references aren't
              # persistent, so instead we store a reference to the function
              # and instance.
  
              value = (weakref.ref(value.__func__),
                       weakref.ref(value.__self__, self._auto_remove),
                       priority)
  
          else:
  
              value = (value, priority)
  
          return value
docs: Given a function/method, this will automatically wrap a method using
          weakref to avoid circular references.