Separate collection implementation from collectionVC