         }
     }
     
-    func selectTopRouter() {
-        selectedRouter = topRouter
+    //MARK: - Actions
+    
+    func topAction() {
+        selectedRouter = TransitionRouter(type: .top)
     }
     
-    func selectLeftRouter() {
-        selectedRouter = leftRouter
+    func leftAction() {
+        selectedRouter = TransitionRouter(type: .left)
     }
     
-    func selectBottomRouter() {
-        selectedRouter = bottomRouter
+    func bottomAction() {
+        selectedRouter = TransitionRouter(type: .bottom)
     }
     
-    func selectRightRouter() {
-        selectedRouter = rightRouter
+    func rightAction() {
+        selectedRouter = TransitionRouter(type: .right)
     }
 }
 

        view.backgroundColor = .red
        
        view.addSubview(topButton)
        topButton.addTarget(self, action: #selector(selectTopRouter), for: .touchUpInside)
        view.addSubview(leftButton)
        leftButton.addTarget(self, action: #selector(selectLeftRouter), for: .touchUpInside)
        view.addSubview(bottomButton)
        bottomButton.addTarget(self, action: #selector(selectBottomRouter), for: .touchUpInside)
        view.addSubview(rightButton)
        rightButton.addTarget(self, action: #selector(selectRightRouter), for: .touchUpInside)
        
        let leftRecognizer = UIScreenEdgePanGestureRecognizer()
        leftRecognizer.edges = .left


class FirstViewController: UIViewController {
    
    private let leftInteractiveRouter = TransitionRouter(type: .left, interactive: true)
    private let rightInteractiveRouter = TransitionRouter(type: .right, interactive: true)
    
    private var selectedRouter: TransitionRouter? {
        didSet {
