Hmm maybe just always re-calculate? This would allow to get rid of the isUsingModifiedFlag() method. And would be simpler to understand :)