The program should be configurable from the command line, the GUI, and from files used to store the configurations.