 		}
 
 		if isViewLoaded() {
+			let previousScrollCompletion = self.scrollCompletion
+			scrollCompletion = completion
+
 			collectionView.scrollToItemAtIndexPath(NSIndexPath(forItem: index, inSection: 0), atScrollPosition: .CenteredHorizontally, animated: animated)
+
+			previousScrollCompletion?(cancelled: true)
 		}
 	}
 

		}

		isAnimatingScrollView = false
	}





public /* non-final */ class ScrollViewController: ViewController {

	public typealias ScrollCompletion = (cancelled: Bool) -> Void

	private var appearState = AppearState.DidDisappear
	private lazy var collectionView: UICollectionView = CollectionView(frame: .zero, collectionViewLayout: self.collectionViewLayout)
	private lazy var collectionViewLayout = UICollectionViewFlowLayout()
	private var isAnimatingScrollView = false
	private var isSettingPrimaryViewControllerInternally = false
	private var scrollCompletion: ScrollCompletion?


	public override init() {
