protected virtual void LinkEstablishedOverride(MessageDispatcher <T> dispatcher) { }
protected virtual void LinkRemovedOverride(MessageDispatcher <T> dispatcher) { }
protected override void HandleRemoveOverride(MessageDispatcher <T> item) { item.Parent = null; }