move UICollectionViewFlowLayoutDelegate's sizeForItemAtIndexPath: to the vc. give datasource a weak back reference to the vc.