1. A method of processing a workitem including a plurality of tasks, the method comprising: transmitting, by a taskflow controller, requests for completion to the plurality of tasks, respectively; receiving processed data from a first task of the plurality of tasks in response to a respective one of the requests, the processed data being marked as intended for a second task of the plurality of tasks; changing, by the taskflow controller, a counter value associated with the second task, each of the plurality of tasks being associated with a respective counter value; transmitting the processed data to the second task; and determining, by the taskflow controller, a state of the workitem based on the counter values.