title: Manually Instantiate ViewController and push on top. Good practice?
body: <p>What i'm doing is this:  </p>
  
  <pre><code>UIViewController *rootController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
  AlarmRingViewController *alarmController = [[AlarmRingViewController alloc] init];
  [rootController presentViewController:alarmController animated:YES];
  </code></pre>
  
  <p>What i want to achive with this, is to push my AlarmRingViewController on top of any other controller which is displaying at the moment and it works so far.</p>
  
  <p>Now im wondering if this is good practice:   </p>
  
  <ul>
  <li>to instatiate a new viewController each time it should be presented</li>
  <li>do so in a non UI related class? (in my case a scheduler for NSTimer)</li>
  <li>from there push the newly created viewController with the rootViewController on top  </li>
  </ul>
  
  <p>Or does this violate the MVC pattern or Apples guidelines or anything.
  cheers</p>