Actually Retrofit does it for me here.
If you noticed in my BaseService.kt line 6 I call: response = call.invoke()
That call is a higher-order function received in apiCall. If you continue to follow my example you’ll see that in ChildService.kt I do:
private val api = retrofit.create(Api::class.java) and later apiCall(call = { api.fetchMyObject() }) }
And that’s where the call is being made :)