code: def setattr_on_read(func):
      # XXX - beetter names for this?
      # - cor_property (copy on read property)
      # - sor_property (set on read property)
      # - prop2attr_on_read
      # ... ?
      """Decorator to create OneTimeProperty attributes.
  
      Parameters
      ----------
        func : method
          The method that will be called the first time to compute a value.
          Afterwards, the method's name will be a standard attribute holding the
          value of this computation.
  
      Examples
      --------
      >>> class MagicProp(object):
      ...     @setattr_on_read
      ...     def a(self):
      ...         return 99
      ...
      >>> x = MagicProp()
      >>> 'a' in x.__dict__
      False
      >>> x.a
      99
      >>> 'a' in x.__dict__
      True
      """
      return OneTimeProperty(func)
  
label_desc: Use image node_id 1 for calling a global function with example usage: setattr_on_read(func) and returns: OneTimeProperty