Base Coroutine use case meant to use in CoroutineScopeOwner implementations
Suspend function which should contain business logic
Deferred used to hold and cancel existing run of this use case