We did originally perform the Load and Save in WriteXMLValue, loading and saving on every write, then just decided that that wasn't very efficient, so removed - didn't perform any bench-marking or anything, might not be too bad. Doing that load and save certainly makes the whole thing easier to use - for sure.