improved async handling in DataObject

code cleanup + better queue implementation + retry mechanism (in case of
network errors)