void HandleObjectAdded(AttachObject obj) { orphans.Remove(obj); obj.attachment = this; // todo - check for non-identical matching objects in orphans and objects if (isActive) { obj.PrepareForAttach(strategy.GetTransitionerForCategory(obj.category)); } UpdateIsConnected(); if (isAttaching || isAttached) { ResolveParamsForObject(obj); obj.Attach(); } UpdateIsConnected(); }