   var headerHeight: CGFloat = 88
 
   let dayHeaderView = DayHeaderView()
-  let timelinePager = PagingScrollView()
+  let timelinePager = PagingScrollView<TimelineContainer>()
 
   var currentDate = NSDate().dateOnly()
 

  func dateHeaderDateChanged(newDate: NSDate) {
    //TODO: refactor
    if newDate.isEarlierThan(currentDate) {
     let timelineContainer = timelinePager.reusableViews.first! as! TimelineContainer
      timelineContainer.timeline.date = newDate
      updateTimeline(timelineContainer.timeline)
      timelinePager.scrollBackward()

    } else if newDate.isLaterThan(currentDate) {
      let timelineContainer = timelinePager.reusableViews.last! as! TimelineContainer
      timelineContainer.timeline.date = newDate
      updateTimeline(timelineContainer.timeline)
      timelinePager.scrollForward()

}

extension DayView: PagingScrollViewDelegate {
  func updateViewAtIndex(index: Int) {
    let timeline = timelinePager.reusableViews[index].timeline
    let amount = index > 1 ? 1 : -1
    timeline.date = currentDate.dateByAddingDays(amount)
    updateTimeline(timeline)
  }

  func scrollviewDidScrollToViewAtIndex(index: Int) {
    let timeline = timelinePager.reusableViews[index].timeline
    currentDate = timeline.date
    //This Causes a bug
    dayHeaderView.selectDate(currentDate)
  }
}
