!7 cmodule PhilosophyBotTextArea > DynTextArea { S output; transient PhilosophyBot1 bot; transient ReliableSingleThread rstRunProgram = dm_rst(this, r runProgram); visual jvsplit( jCenteredSection("Program", super), jCenteredSection("Output", dm_textArea output())); start { grabInterval = 1.0; dm_watchFieldAndNow text(rstRunProgram); } void runProgram { temp tempMiniLoadingAnim(); setField(output := hijackPrint(r { bot = new PhilosophyBot1(text); bot.run(); })); } }