Refactor Book Offers Controller

This change is in response to comments in #4410