Refactored book list to use ViewModel instead of access model directly.