title: What exactly willMoveToParentViewController: and didMoveToParentViewController: do?
body: <p>I know that starting with iOS5 and the new UIViewController containment methods, you are supposed to call these methods together with <strong>addChildViewController:</strong>, <strong>removeFromParentViewController:</strong> and the transition method. I also know the proper order of calling them in the three scenarios. What I don't know is what exactly these methods do?</p>
  
  <p>If these were merely override points for subclasses of UIViewController I guess we wouldn't be required to call <strong>super</strong> when overriding. What can/will go wrong if I don't call <strong><em>willMoveToParentViewController: nil</em></strong> before removing a view controller or <strong>didMoveToParentViewController: self</strong>?</p>