Now add task support both sync and async.