public override bool TrySetMember(SetMemberBinder binder, object value)
            {
                var tValue = (DelegateAddRemove <PropertyChangedEventHandler>)value;

                string tGuid;

                if (tValue.IsAdding)
                {
                    if (!_uniqueEvents.TryGetValue(tValue.Delegate, out tGuid))
                    {
                        tGuid = Guid.NewGuid().ToString();
                        _uniqueEvents.Add(tValue.Delegate, tGuid);
                        EventStore.Add(tGuid, tValue.Delegate);
                    }
                    _parent.DependencyLink(tGuid, binder.Name);
                }
                else
                {
                    if (_uniqueEvents.TryGetValue(tValue.Delegate, out tGuid))
                    {
                        _parent.DependencyUnlink(tGuid, binder.Name);
                    }
                }
                return(true);
            }
 /// <summary>
 /// Unlinks the property with the dependency.
 /// </summary>
 public void Unlink()
 {
     _parent.DependencyUnlink(_property, _dependency);
 }