     var calendarChooser: EKCalendarChooser!
 
     private var kvoContextForTimelineCollectionViewController = "kvoContextForTimelineCollectionViewController"
-    private var kvoContextForEventsCollectionViewController = "kvoContextForEventsCollectionViewController"
+    private var kvoContextForEventsCollectionViewController   = "kvoContextForEventsCollectionViewController"
 
     private let contentOffsetKeyPath = "contentOffset"
+    private let contentSizeKeyPath   = "contentSize"
 
     deinit {
         self.timelineCollectionViewController?.removeObserver(self, forKeyPath: contentOffsetKeyPath)

        switch segue.destinationViewController {
        case let timelineCollectionViewController as TimelineCollectionViewController:
            self.timelineCollectionViewController = timelineCollectionViewController
            self.timelineCollectionViewController?.collectionView?.addObserver(self, forKeyPath: contentOffsetKeyPath, options: .New, context: &kvoContextForTimelineCollectionViewController)
        case let eventsCollectionViewController as EventsCollectionViewController:
            self.eventsCollectionViewController = eventsCollectionViewController
            self.eventsCollectionViewController?.collectionView?.addObserver(self, forKeyPath: contentOffsetKeyPath, options: .New, context: &kvoContextForEventsCollectionViewController)
        default:
            break
        }

            return
        }

        switch keyPath {
        case contentOffsetKeyPath:
            if let anotherCollectionView = anotherCollectionViewController?.collectionView {
                if let point = change["new"] as? NSValue {
                    let y = point.CGPointValue().y

                    if anotherCollectionView.contentOffset.y != y {
                        anotherCollectionView.contentOffset.y = y
                    }
                }
            }

        case contentSizeKeyPath:
            if let collectionView = object as? UICollectionView, anotherCollectionView = anotherCollectionViewController?.collectionView {
                if let point = change["new"] as? NSValue {
                    let height = point.CGSizeValue().height

                    println("one: \(height), other: \(anotherCollectionView.contentSize.height)")
                }
            }

        default:
            break
        }
    }
}