Core data:
Created book entity;
Created entity superclass for JSON mapping purposes;
CoreData stack setup on start;

Network calls:
Created books network service;
Network service uses notifications to communicate;
Setup URL cache on start;

View controller:
Created UICollectionViewController subclass;
Added refresh control and continuous loading view for paging and refreshing;
Calls to network service in place along with notifications;
Linked it with a NSFetchedResultsController and implemented its delegate methods;
Has cell subclass for a book;
Cells are dimensioned accordingly to the available space.