Add double-checked locking to readByIsbn() and update() methods.
Re-factor.