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