private Configuration() {
        // Open the configuration directory... if it doesn't exist, make it and the file and use
        // the default settings.
        File configDir = new File("./config");
        File configFile = new File("./config/configuration.txt");
        if (!configDir.exists()) {
            try {
                setDefaultSettings();
                configDir.mkdir();
                configFile.createNewFile();
            } catch (IOException ex) {
                System.err.println(ex.getMessage());
            }
        } else {
            // If it exists, open the file and read it.
            BufferedReader br = null;
            try {
                br = new BufferedReader(new FileReader(configFile));
            } catch (FileNotFoundException ex) {
                setDefaultSettings();
                return;
            }

            try {
                String line = null;
                // Read each settings line by line.
                while((line = br.readLine()) != null) {
                    // key=value - extract the key and value from the file.
                    String[] keyval = line.split("=");
                    configuration.put(keyval[0], keyval[1]);
                }

                br.close();
            } catch (IOException ex) {
                System.err.println(ex.getMessage());
                setDefaultSettings();
            }
        }
    }