SIFD-35 separating the validation code in a separate validator class for Books