- [ ] Use background thread to avoid blocking UI - [ ] Support cancellation - [ ] Show progress - [ ] Consider 1 API call per book (or 1 per N highlights)