val (watchOpt, watcher) = request.watch match {
        case false => (builder, None)
        case true =>
          val w = Some(new Watcher())
          (builder.usingWatcher(w.get), w)