 
 		updateAppearStateForAllCellsAnimated(true)
 		updatePrimaryViewController()
+
+		let scrollCompletion = self.scrollCompletion
+		self.scrollCompletion = nil
+
+		// TODO not called when scrolling was not necessary
+		scrollCompletion?(cancelled: false)
 	}
 
 

		}

		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() {
