   private let detailNavController: UINavigationController = {
     let nc = UINavigationController()
     nc.isNavigationBarHidden = true
+    let detail = DetailEmptyStateViewController()
+    let header = MaterialHeaderContainerViewController(contentViewController: detail)
+    header.showCloseButton = false
+    nc.setViewControllers([header], animated: false)
     return nc
   }()
 
-  // TODO: Make these non-optional
+  // TODO: Make this non-optional
   private var buttonBarViewController: ActionAreaButtonBarViewController?
-  private var svController: UISplitViewController?
-
+  private let svController = UISplitViewController()
   private var viewControllerBarItems: [UIViewController: BarItemMode] = [:]
+  private var presentedDetailViewController: UIViewController?
+  private let preferredPrimaryColumnWidthFractionWhenDetailIsHidden: CGFloat = 1.0
 
   private var state: State = .normal {
     willSet {

    fatalError("init(coder:) has not been implemented")
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    navController.delegate = self

    let svController = UISplitViewController()
    svController.presentsWithGesture = false
    svController.viewControllers = [navController, detailNavController]
    svController.delegate = self
    self.svController = svController

    let buttonBarViewController =
      ActionAreaButtonBarViewController(contentViewController: svController)

    }
    contentViewController.didMove(toParent: self)

    if showCloseButton {
      navigationItem.leftBarButtonItem =
        UIBarButtonItem(title: "Close",
                        style: .plain,
                        target: self,
                        action: #selector(close))
    }

    if let collectionViewController = contentViewController as? UICollectionViewController {
      appBar.configure(attachTo: self, scrollView: collectionViewController.collectionView)
    } else {
      appBar.configure(attachTo: self)
    }
  }

  @objc
