How would you design a robust API client for a mobile app that handles pagination, retries, caching, and partial failures at Arthrex?