Fixed parallel tasks finishing in wrong order.

Before you might end up with a pxl call overlapping with a contrast
call, now each function that uses a worker model checks that it has
completed before returning.