Setting working flag in workAsync/workSync instead of pushAsync/pushSync

With the following steps:
- pushAsync two tasks A and B that lasts 1 second
- 1500ms after, pushAsync another one task C - this task would start immediately because the working flag was not set to true when task B started