The config library defines a set of classes for building and presenting the user interface for a set of user preferences. The preferences are read from a text file and a dialog with corresponding user interface elements is presented to the user. The user's input is then saved to the preferences file.