code: def add_property(self, prop):
          
          if _debug: Object._debug("add_property %r", prop)
  
          # make a copy of the properties dictionary
          self._properties = _copy(self._properties)
  
          # save the property reference and default value (usually None)
          self._properties[prop.identifier] = prop
          self._values[prop.identifier] = prop.default
docs: Add a property to an object.  The property is an instance of
          a Property or one of its derived classes.  Adding a property
          disconnects it from the collection of properties common to all of the
          objects of its class.