fun <T> Property<T>.mutateOnChange(mutator: (T?) -> T?): <ERROR CLASS>
Listen to changes and update the value of the property if the given mutator results in a different value