First of all I do not like the idea of tying your use case classes to your threading implementation. In my experience it causes undue complication to the code because of it being a leaky abstraction.
For the full reasoning please take the time to watch this video by Mark Seeman:
https://youtu.be/F9bznonKc64▾
dewildte
09/08/2019, 2:29 PM
Even if you do not agree it's good to get other opinions.
dewildte
09/08/2019, 2:35 PM
TLDR: Inject behavior (AKA the UseCase class) into the asynchronous function.