sclass FieldAsVar extends VarWithNotify {
IHasChangeListeners containingObject;
S fieldName;
IF0 getter;
IVF1 setter;
*(IHasChangeListeners *containingObject,
S *fieldName, IF0 *getter, IVF1 *setter) {
containingObject.onChange(l0 _updateFromObject);
}
void _updateFromObject {
set(getter!);
}
void fireChange {
super.fireChange();
setter.set(get());
}
}