Update the reference implementation to ensure that Book is idempotent, and that there is a test in the test suite that checks for this