fixed a bug in the DOM observer which caused unwanted calculations to run on meaningless DOM changes