       self.workspace.toggleAllTools()
     }
 
+    self.windowController.window?.delegate = self
     self.workspace.delegate = self
+
+    self.addViews()
+
+    self.updateNeoVimAppearance()
+    self.neoVimView.delegate = self
+
+    self.open(urls: state.urlsToOpen)
+
+    self.window.setFrame(state.frame, display: true)
+    self.window.makeFirstResponder(self.neoVimView)
 
     Observable
       .of(self.scrollDebouncer.observable, self.cursorDebouncer.observable)

          }
        })
      .disposed(by: self.disposeBag)

    self.updateNeoVimAppearance()
    self.neoVimView.delegate = self

    self.open(urls: state.urlsToOpen)

    self.window.setFrame(state.frame, display: true)
    self.window.makeFirstResponder(self.neoVimView)
  }

  func uuidAction(for action: Action) -> UuidAction<Action> {

        self.emit(self.uuidAction(for: action))
      })
      .disposed(by: self.disposeBag)

    source
      .observeOn(MainScheduler.instance)
