static abstract class DynSingleFunction extends DynModule { transient S buttonText; *() {} *(S *buttonText) {} JComponent visualize() { ret jbutton(or2(buttonText, dm_moduleName()), r doItWithEnter); } abstract void doIt(); void doItWithEnter() { temp enter(); doIt(); } }