Probably ideal as a single unsided method, having states akin to:
- Uninitialized
- Processing
- Waiting?
- Completed
- Errored?
At minimum there is a need to distinguish between having no data available, processing data, and data being available; on both Server and Client.