code: function(obj){
  			var rect = obj._mbr || obj;
  			if (obj.staleRect){
  				//If overlap, merge stale and current position together, then return
  				//Otherwise just push stale rectangle
  				if (  rectManager.overlap( obj.staleRect, rect)){
  					rectManager.merge(obj.staleRect, rect, obj.staleRect)
  					dirty_rects.push(obj.staleRect)
  					return
  				}
  				else{
  					dirty_rects.push(obj.staleRect)
  				}
  			}
  
  			// We use the intermediate "currentRect" so it can be modified without messing with obj
  			obj.currentRect._x = rect._x;
  			obj.currentRect._y = rect._y;
  			obj.currentRect._w = rect._w;
  			obj.currentRect._h = rect._h;
  			dirty_rects.push(obj.currentRect)
  			
  		}
docs: Takes the current and previous position of an object, and pushes the dirty regions onto the stack
  If the entity has only moved/changed a little bit, the regions are squashed together