It may be a good idea to decouple the choice methods from the TerminalClient.  This would allow for easy transition to different interfaces