!7 abstract sclass DynPrintLogWithInput extends DynPrintLog { InputChooser inputChooser = new(this); visualize { ret northAndCenter(wrap(inputChooser), super.visualize()); } abstract void update(S input); void update { if (inputChooser.update()) update(inputChooser.input()); } }