I realized that it is hard to customize things like book item cell, because pretty much most of UICollectionView are wrapped in KZBookcaseView, and that makes things difficult to extend its features.  So, KZBookcaseView is now a subclass of UICollectionView, and its datasource and delegate implementation are in KZSampleBookshelfViewControll.