Implemented DelegateBasedAsyncTask (replacement of IdlePromise)