public IObject Get(string id)
        {
            FormsElementWrapper wrapper = null;

            Log.Debug("[GetElement] objectList.ContainsKey? " + _elementList.ContainsKey(id) + ", objectList.Count=" + _elementList.Count);

            _elementList.TryGetValue(id, out wrapper);

            if (wrapper != null && wrapper.Element != null)
            {
                return(wrapper);
            }

            return(null);
        }
        public void Add(object element)
        {
            var wrapper = new FormsElementWrapper(element);

            wrapper.Deleted += (s, e) =>
            {
                RemoveById(wrapper.Id);
            };

            lock (_objcetLock)
            {
                _elementList[wrapper.Id] = wrapper;
                Log.Debug("[Added] id=" + wrapper.Id + ", element=" + element.GetType() + ", _elements.Count=" + _elementList.Count);
            }
        }