title: What is the recommended way to enforce a specific rootViewController in a custom UINavigationController?
body: <p>I'm building an iPhone SDK that will be used by other iPhone developers.</p>
  
  <p>The main use of this SDK will be to present a UI that will enable the user to complete a certain process.</p>
  
  <p>This UI should be wrapped inside a UINavigationController because it is composed from several UIViewControllers that form the process.</p>
  
  <p>I want that the developers that will use my SDK will initialize my custom UINavigationController and then present it however they want.</p>
  
  <p>I want to enforce that the rootViewController of my custom navigation controller will be a specific ViewController from the SDK, and developers won't be able to initialize it with a different rootViewController.</p>
  
  <p>What is the recommended way to achieve this?</p>