Adds a callback that will initialize the property when it is accessed for the first time.
Adds a callback that will be called whenever the value has changed