Added getopt support, moved interactive mode to App.Input