As is we should be fine, as we poppush any preserved data so it's atomic. The ordering could get out of whack if the 'take / validate /reject' logic I've introduced here was being applied without some sort of locking though.