DataFinalizer

typealias DataFinalizer<DataT> = (newData: DataT, oldData: DataT) -> Unit

Substitutes old data back to the property. Possibly destroys newData as long it's no longer necessary