This replaces dedicated flag which wasn't clean who sets it and who clears it, and which was also trying to re-implement existing functionality in a way. Flushing is not currently very efficient but there are ways to speed this up a lot, but needs more investigation.