In reply to EleneSajaia:
That should work assuming item_1_input is a class member (not local to the tasks). The only problem is if the value of data does not change between transactions, the dpi_function does not get called. If that is a problem, you could do @(item_1) instead.