 
     typealias Pair = StateActionPair<UuidState<MainWindow.State>, MainWindow.Action>
 
+    init(_ baseServerUrl: URL) {
+      self.baseServerUrl = baseServerUrl
+    }
+
     func reduce(_ source: Observable<Pair>) -> Observable<Pair> {
       return source.map { pair in
-        guard let baseServerUrl = self.parentTransformer?.baseServerUrl else {
-          return pair
-        }
-
         var state = pair.state.payload
 
         switch pair.action {

      }
    }

    fileprivate var parentTransformer: PreviewReducer?
  }

  class OpenedFileListReducer: Reducer {

    typealias Pair = StateActionPair<UuidState<MainWindow.State>, OpenedFileList.Action>

    func reduce(_ source: Observable<Pair>) -> Observable<Pair> {
      return source.map { pair in
        guard let baseServerUrl = self.parentTransformer?.baseServerUrl else {
          return pair
        }

        var state = pair.state.payload

        switch pair.action {

        case let .open(buffer):
          state.preview = PreviewUtils.state(for: pair.state.uuid, baseUrl: baseServerUrl, buffer: buffer)

        }


            return pair
          }

          state.preview = PreviewUtils.state(for: pair.state.uuid, baseUrl: self.baseServerUrl, buffer: buffer)

        case .close:
          state.preview = PreviewUtils.state(for: .none, baseUrl: self.baseServerUrl)

        default:
          return pair
