first attempt at passing task objects instead of task ids around