Library, shelves, and books represented using OOP