move delegate adoption check to point of need