Make  object destroy methods dependent on the destroy methods of their children