<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def callback_property(getter):
 """ 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) """


    cb = CallbackProperty(getter=getter)
    cb.__doc__ = getter.__doc__
    return cb