public void RemoveVariable(string key, Type variableType)
        {
            if (string.IsNullOrEmpty(key))
            {
                return;
            }

            if (dictionary.ContainsKey(variableType.ToString()))
            {
                NTVariableDictionary variableTypeDictionary = dictionary[variableType.ToString()];
                variableTypeDictionary.Remove(key);
                dictionary[variableType.ToString()] = variableTypeDictionary;
                onModified?.Invoke();
            }
        }
        public void RemoveVariable <T>(string key) where T : NTVariable
        {
            if (string.IsNullOrEmpty(key))
            {
                return;
            }

            Type newVariableType = typeof(T);

            if (dictionary.ContainsKey(newVariableType.ToString()))
            {
                NTVariableDictionary variableTypeDictionary = dictionary[newVariableType.ToString()];
                variableTypeDictionary.Remove(key);
                dictionary[newVariableType.ToString()] = variableTypeDictionary;
                onModified?.Invoke();
            }
        }