BookBuilder refactoring