Vetoable delegate is quite similar to the observable delegate, with the only difference of vetoing the change. In the observable delegate, we could get hold of new and old values whenever the observable property was changed. Let's take a look at the definition provided in Kotlin's documentation:
"Returns a property delegate for a read/write property that calls a specified callback function when changed, allowing the callback to veto the modification."