Big refactor to abstract book CRUD to 100% naked objects