Switched domain model to books, radically reworked validation. Most
stuff is currently broken.