Agreed.  We have refactored to the point where these fields are used as if they were immutable within some visitor that's passed up from evaluating the children.  With luck, we will be able to blow away this entire implementation in a few weeks.