DelegateBasedAsyncTask allows for a delegate or System.Action object to be scheduled for asynchronous execution on the ISchedulerThread.