issue 904 race condition in plural directives

ugly deferred loop `checkInProgress` to make sure we are not clobbering an array at the same time it is being updated. This is what causes artifacts.