Refactored and tested Book Domain.
Refactored and tested Book Domain.