I may be nitpicking here but why return the `BookletState` where there's nothing to page through to begin with? Since you only require a single call to retrieve all pages anyway I think you could make that call first and then either create the `BookletState` and page through the content you've already retrieved or just return an `EndState` (or whatever else is suitable).