public void loadOptions()
        {
            Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.loadOptions -- Loading Options");
            OptionsManager.Options options = new OptionsManager.Options();

            try {
                using (StreamReader streamReader = new StreamReader("SeniorCitizenCenterModOptions.xml")) {
                    options = (OptionsManager.Options) new XmlSerializer(typeof(OptionsManager.Options)).Deserialize(streamReader);
                }
            } catch (FileNotFoundException ex) {
                // Options probably not serialized yet, just return
                return;
            } catch (Exception e) {
                Logger.logError(Logger.LOG_OPTIONS, "Error loading options: {0} -- {1}", e.Message, e.StackTrace);
                return;
            }

            if (options.capacityModifierSelectedIndex != -1) {
                Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.loadOptions -- Loading Capacity Modifier to: x{0}", CAPACITY_VALUES[options.capacityModifierSelectedIndex]);
                this.capacityDropDown.selectedIndex = options.capacityModifierSelectedIndex;
                this.capacityModifier = CAPACITY_VALUES[options.capacityModifierSelectedIndex];
            }

            if (options.incomeModifierSelectedIndex > 0) {
                Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.loadOptions -- Loading Income Modifier to: {0}", (IncomeValues) options.incomeModifierSelectedIndex);
                this.incomeDropDown.selectedIndex = options.incomeModifierSelectedIndex - 1;
                this.incomeValue = (IncomeValues) options.incomeModifierSelectedIndex;
            }

            if(options.hideTabSelectedValue.HasValue) {
                Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.loadOptions -- Loading Hide Tab to: {0}", options.hideTabSelectedValue);
                this.hideTabCheckBox.isChecked = (bool) options.hideTabSelectedValue;
                this.hideTab = (bool) options.hideTabSelectedValue;
            }
        }
        private void saveOptions()
        {
            Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.saveOptions -- Saving Options");
            OptionsManager.Options options = new OptionsManager.Options();
            options.capacityModifierSelectedIndex = -1;

            if(this.capacityDropDown != null) {
                int capacitySelectedIndex = this.capacityDropDown.selectedIndex;
                options.capacityModifierSelectedIndex = capacitySelectedIndex;
                if (capacitySelectedIndex >= 0) {
                    Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.saveOptions -- Capacity Modifier Set to: {0}", CAPACITY_VALUES[capacitySelectedIndex]);
                    this.capacityModifier = CAPACITY_VALUES[capacitySelectedIndex];
                    this.updateCapacity(CAPACITY_VALUES[capacitySelectedIndex]);
                }
            }

            if (this.incomeDropDown != null) {
                int incomeSelectedIndex = this.incomeDropDown.selectedIndex + 1;
                options.incomeModifierSelectedIndex = incomeSelectedIndex;
                if (incomeSelectedIndex >= 0) {
                    Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.saveOptions -- Income Modifier Set to: {0}", (IncomeValues) incomeSelectedIndex);
                    this.incomeValue = (IncomeValues) incomeSelectedIndex;
                }
            }

            if (this.hideTabCheckBox != null) {
                bool hideTab = this.hideTabCheckBox.isChecked;
                options.hideTabSelectedValue = hideTab;
                if (hideTab != this.hideTab) {
                    Logger.logInfo(Logger.LOG_OPTIONS, "OptionsManager.saveOptions -- Hide Tab Set to: {0}", hideTab);
                    this.hideTab = hideTab;
                }
            }

            try {
                using (StreamWriter streamWriter = new StreamWriter("SeniorCitizenCenterModOptions.xml")) {
                    new XmlSerializer(typeof(OptionsManager.Options)).Serialize(streamWriter, options);
                }
            } catch (Exception e) {
                Logger.logError(Logger.LOG_OPTIONS, "Error saving options: {0} -- {1}", e.Message, e.StackTrace);
            }
        }