private void DispatchEvent(ITriplet <UserControlReference, UserControlReference, object> triplet) { foreach (UserControlReference c in ChildControls) { if (c.GetType() == triplet.TargetType()) { c.dataReceived(triplet); break; } } }