code: def callback_property(getter):
      
  
      cb = CallbackProperty(getter=getter)
      cb.__doc__ = getter.__doc__
      return cb
docs: A decorator to build a CallbackProperty.
  
      This is used by wrapping a getter method, similar to the use of @property::
  
          class Foo(object):
              @callback_property
              def x(self):
                   return self._x
  
              @x.setter
              def x(self, value):
                  self._x = value
  
      In simple cases with no getter or setter logic, it's easier to create a
      :class:`~echo.CallbackProperty` directly::
  
          class Foo(object);
              x = CallbackProperty(initial_value)