abstract sclass DynCalculatedList extends DynModule { transient JList list; JComponent visualize() { ret list = jlist(calc()); } void unvisualize2() { list = null; } void update() { lock lock; if (list != null) fillListWithStrings(list, calc()); } // should cache results if they are expensive to make abstract L calc(); }