About halfway through making TUIDemo uncrashable with invalid input,
made some suggested alterations to the Program class