code: def get_property(self):
          
  
          scope = self
  
          def fget(self):
              """Call the HasProperties _get method"""
              return self._get(scope.name)
  
          def fset(self, value):
              """Validate value and call the HasProperties _set method"""
              if value is not undefined:
                  value = scope.validate(self, value)
              self._set(scope.name, value)
  
          def fdel(self):
              """Set value to utils.undefined on delete"""
              self._set(scope.name, undefined)
  
          return property(fget=fget, fset=fset, fdel=fdel, doc=scope.sphinx())
docs: Establishes access of Property values