public static void RegisterForSettingsChange(string settingName, EventHandler functionToCallOnChange, ref EventHandler functionThatWillBeCalledToUnregisterEvent)
        {
            if (!functionsToCallOnChange.ContainsKey(settingName))
            {
                functionsToCallOnChange.Add(settingName, new RootedObjectEventHandler());
            }

            RootedObjectEventHandler rootedEvent = functionsToCallOnChange[settingName];

            rootedEvent.RegisterEvent(functionToCallOnChange, ref functionThatWillBeCalledToUnregisterEvent);
        }