title: How to avoid always creating UINavigationControllers?
body: <p>In my app, I have a lot of modal views which need to be presented in a navigation controller, so I end up doing a lot of stuff like this:</p>
  
  <pre><code>MyModalController *modal = [[MyModalController alloc] init];
  UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:modal];
  [modal release];
  
  [self presentModalViewController:navCon];
  [navCon release];
  </code></pre>
  
  <p>Ideally, I'd like to simplify this, so that MyModalController takes care of creating the navigation controller. Any best practices for this sort of thing? I'm thinking I could always just add a method like <code>+navigationControllerWithModalController</code>, but I'd like to hear how other people do it.</p>
  
  <p>Also, I'd like to be able to attach a delegate to MyModalController, so I can send information back to the current view controller, so I know when to dismiss it.</p>