persistable sclass TargetAndActual extends MetaWithChangeListeners { settableWithVar A target; settableWithVar A actual; *(A *target, A *actual) {} toString { ret commaCombine( target == null ?: "Target: " + target, actual == null ?: "Actual: " + actual); } A value() { ret actual; } }