     return (list, set)
   }
   
-  private static func insert(locations: [TKAgendaInputItem], into: [TKAgendaInputItem]) -> Observable<[TKAgendaOutputItem]> {
+  private static func insert(locations: [TKAgendaInputItem], into: [TKAgendaInputItem], dateComponents: NSDateComponents) -> Observable<[TKAgendaOutputItem]> {
     
     precondition(into.count >= 2, "Don't call this unless you have a start and end!")
     

    
    let placeholders = TKAgendaFaker.outputPlaceholders(Array(merged))
    
    return rx_createProblem(locations, into: into)
      .flatMap { region, id  in
        return fetchSolution(id, inputItems: into + locations, inRegion: region)
      }

    // Got enough data to query server!
    let (list, set) = TKTTPifier.split(items)
    // return TKTTPifierFaker.fakeInsert(new, into: previous)
    return TKTTPifier.insert(set, into: list, dateComponents: dateComponents)
  }
  
  public static func split(items: [TKAgendaInputItem]) -> (list: [TKAgendaInputItem], set: [TKAgendaInputItem])
