temporary fix for Model.dirtyCheck reentrancy problem (calling Model.dirtyCheck while dirty checking can cause an iloop)