 	public func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
 		precondition(collectionView === self.collectionView)
 
-		let viewController = viewControllers[indexPath.item]
-
-		let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! Cell
-		cell.viewController = viewController
-
-		return cell
+		return collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! Cell
 	}
 
 

	}


	private var viewController: UIViewController? {
		didSet {
			guard viewController !== oldValue else {
				return
			}

			if let viewController = oldValue where viewController.isViewLoaded() && viewController.view.superview === contentView {
				viewController.beginAppearanceTransition(false, animated: false)
				viewController.view.removeFromSuperview()
				viewController.endAppearanceTransition()
			}

			if let viewController = viewController {
				viewController.beginAppearanceTransition(true, animated: false)
				contentView.addSubview(viewController.view)
				viewController.endAppearanceTransition()
			}
		}
	}
}

			updatePrimaryViewController()
		}
	}


	public func scrollViewWillBeginDragging(scrollView: UIScrollView) {
		guard scrollView === collectionView else {
			return
		}

		isAnimatingScrollView = false
	}


	public func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
		guard scrollView === collectionView else {
			return
		}

		isAnimatingScrollView = false
	}
}



private final class Cell: UICollectionViewCell {

	private var appearState = AppearState.DidDisappear


	private override func layoutSubviews() {
		super.layoutSubviews()
