// you have to trigger change events manually if you need them srecord VirtualVar(IF0 getter, IVF1 setter) extends HasChangeListeners is IVarWithNotify { public void set(A a) { setter?.get(a); } public A get() { ret getter?.get(); } }