abstract sclass DynPrintLog extends DynModule { transient JTextArea ta; JComponent visualize() { ret awtCalcEvery( jSection("Log", ta = moveCaretToEnd(typeWriterTextArea(localPrintLog()))), 500, r updatePrintLog); } void updatePrintLog { // TODO: optimize if (ta != null) setText(ta, localPrintLog()); } }