                     }
                 }
                 baseScene.render();
-                _isoView.addScene(baseScene);
-            }
-        }
+                _isoView.addSceneAt(baseScene, 0);
+                _baseScenes.put(blockKey, baseScene);
+            }
+        });
+    }
+
+    protected function refreshScene () :void
+    {
+        // Clear it out...
+        _isoView.removeAllScenes();
+
+        var scene :IsoScene = new IsoScene();
+        scene.layoutRenderer = new ClassFactory(PrioritizedSceneLayoutRenderer);
+        var time :int = getTimer();
+
+        refreshBaseBlockScenes();
 
         var set :ObjectSet = new ObjectSet();
         _model.getObjects(new Rectangle(-100, -100, 200, 200), set);
         time = getTimer();
-        for (ii = 0; ii < set.size(); ii++) {
+        for (var ii :int = 0; ii < set.size(); ii++) {
             var objInfo :ObjectInfo = set.get(ii);
             var objTileId :int = objInfo.tileId;
             var objTileSet :TileSet;

import com.threerings.crowd.data.PlaceObject;
import com.threerings.util.DelayUtil;
import com.threerings.util.Log;
import com.threerings.media.tile.Colorizer;
import com.threerings.media.tile.NoSuchTileSetError;
import com.threerings.media.tile.TileSet;

        var viewPt :Point = _isoView.globalToLocal(new Point(event.stageX, event.stageY));
        _isoView.centerOnPt(new Pt(viewPt.x - _isoView.width / 2 + _isoView.currentX,
            viewPt.y - _isoView.height / 2 + _isoView.currentY), false);
        refreshBaseBlockScenes();
    }

    public function setSceneModel (model :MisoSceneModel) :void
