Got my first widget working, used CoroutineWorker from Work manager along with Hilt. Inject my API interface to the CoroutineWorker.
Within the CoroutineWorker I'm calling the API needed and storing the results in a custom protoDataStore which when updated also updates the UI of the widget.
The widget also has a refresh button when when pressed triggers an ActionCallback to enque said CoroutineWorker with some Params.
Only difficulty is in managing states as I do that with protoDataStore directly (Error, Success &Loading). Also I don't suppose we can have something animating to show the loading progress like a Circular progress indicator ?