abstract class ObservableProperty<T> :
Implements the core logic of a property delegate for a read/write property that calls callback functions when changed.
The callback which is called after the change of the property is made. The value of the property has already been changed when this callback is invoked.
open fun afterChange(
The callback which is called before a change to the property value is attempted.
The value of the property hasn't been changed yet, when this callback is invoked.
If the callback returns
true the value of the property is being set to the new value,
and if the callback returns
false the new value is discarded and the property remains its old value.
open fun beforeChange(
Returns the value of the property for the given object.
open fun getValue(thisRef: Any?, property: KProperty<*>): T