public void AddTextureListener(ITextureOwner owner, string value)
        {
            if (!texturesOwners.ContainsKey(value))
            {
                texturesOwners.Add(value, new List <ITextureOwner>());
            }

            if (!texturesOwners[value].Contains(owner))
            {
                texturesOwners[value].Add(owner);
            }
        }
        public void RemoveTextureListener(ITextureOwner owner, string value)
        {
            if (!texturesOwners.ContainsKey(value))
            {
                return;
            }

            if (texturesOwners[value].Contains(owner))
            {
                texturesOwners[value].Remove(owner);
            }
            if (texturesOwners[value].Count == 0)
            {
                texturesOwners.Remove(value);
            }
        }