    
    - parameter viewController: a view controller to present
    */
-  public func showSystemViewController<T: UIViewController where T: SystemViewController>(viewController: T) {
+  public func showSystemViewController(viewController: UIViewController, atLevel level: SystemViewControllerLevel) {
     if !window.keyWindow { showSystemWindow() }
     
-    self.viewController.showSystemViewController(viewController)
+    self.viewController.showSystemViewController(viewController, atLevel: level)
   }
   
   /**

  }
  
  /// Dismiss `viewController`
  func dismissSystemViewController<T: UIViewController where T: SystemViewController>(viewController: T) {
    if viewController.modalPresentationStyle == .FullScreen {
      viewController.willMoveToParentViewController(nil)
      removeView(viewController.view)

   
   - parameter viewController: a view controller to dismiss
   */
  public func dismissSystemViewController(viewController: UIViewController, atLevel level: SystemViewControllerLevel) {
    self.viewController.dismissSystemViewController(viewController)
    
    if !self.viewController.hasShownSystemViewControllers {
