sclass SimpleLiveValue extends LiveValue is IVarWithNotify { event change; Class type; volatile A value; *(Class *type) {} *(Class *type, A *value) {} public Class getType() { ret type; } public A get() { ret value; } void fireChanged { change(); } public void set(A a) { if (neq(value, a)) { value = a; fireChanged(); } } }