Make download a child of detail

Correct.  It does mean two steps.  However, downloadBook is technically the parent in this case.  That is an abstract state.  So two steps takes us to the detail.