     }
     
     // MARK: - Controller delegate functions
-    
-    func showSelectedViewController(viewController: UIViewController) {
-        self.selectedViewController = viewController
-        guard let split = self.splitViewController else {return}
-        split.showDetailViewController(viewController, sender: nil)
+    func performSelectedSegue(segue: String) {
+        performSegueWithIdentifier(segue, sender: self)
     }
     
     // MARK: - Split view

    func flatMapEventToAction(event: Event) -> Observable<Action> {
        switch event {
        case .ClickItem(let item):
            self.delegate?.showSelectedViewController(item)
        }
        return Observable.empty()
    }


class MasterViewController: UITableViewController, UserInteractable, View, UISplitViewControllerDelegate, MasterControllerDelegate {
    typealias Event = MasterEvent
    typealias State = [NameAndSegue]
    
    var disposeBag = DisposeBag()
    
