public void Clear()
 {
     foreach (var item in Items)
     {
         NamedObjectManager.Remove(item.Item1);
     }
     Items.Clear();
 }
        public void Remove(T obj)
        {
            var item = Items.Find(v => v.Item2.Equals(obj));

            if (item == null)
            {
                return;
            }

            Items.Remove(item);
            NamedObjectManager.Remove(item.Item1);
        }
        public void Remove(string name)
        {
            var item = Items.Find(v => string.Compare(v.Item1, name, StringComparison.OrdinalIgnoreCase) == 0);

            if (item == null)
            {
                return;
            }

            Items.Remove(item);
            NamedObjectManager.Remove(item.Item1);
        }