[WIP] Refactor CollectionView Datasource/Delegate handling