Yeah, there are many ways to do Clean (I have my own one that is a bit simpler than what we have in Blueprints!)
I’m actually experimenting with a lifecycle-aware UseCase, which will cancel or stop a task if the observer is gone.
use LiveData instead of UseCaseCallback
I have not tried that but could work. It might save us from using WeakReferences…
Upgrade ThreadPoolExecutor to be lifeCycle Aware
This might be overkill. Lifecycle-aware UseCase makes more sense to me, but I would have to try it out.
If you have code open sourced I’d like to have a look.