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