Might be neat to try implementing the client as a [Fetch](https://github.com/47deg/fetch) datasource to take advantage of client-side batching, caching, and deduping.