moving this here could potentially introduce a race condition where everything completes at the same time so everything thinks it is not finished because the other writes don't happen before the read of all the markers.

```
0------------------|  1/4 done
0------------------|  1/4 done
0------------------|  1/4 done
0------------------|  1/4 done
```