Framework: DataRequest implementation

DataRequest shouldn't be blocked.

1. DataRequest will trigger ServeAsParent on another task.
2. after getting the data back, framework calls ParentDataReady.