abstract sclass DynTableWithInput extends DynObjectTable { InputChooser inputChooser = new(this); visualize { ret northAndCenter(wrap(inputChooser), super.visualize()); } abstract void update(S input); void update { if (inputChooser.update()) update(inputChooser.input()); } void forceUpdate { update(inputChooser.input()); } }