type Cell: cell0 cell1 cell2 cell3 cell4 cell5 cell6 task Main(cell5 & cell6): complete() task Pickup(cell & !carry) on Cell as cell: carry = pickup(cell) effects: cell = false carry = true task Dropoff(!cell & carry) on Cell as cell: dropoff(cell, carry) effects: cell = true carry = false