 import com.threerings.media.util.AStarPathSearch_Stepper;
 import com.threerings.media.util.LineSegmentPath;
 import com.threerings.media.util.Path;
+import com.threerings.media.util.Pathable;
 import com.threerings.media.util.TraversalPred;
 import com.threerings.miso.client.MisoMetricsTransformation;
 import com.threerings.miso.client.PrioritizedSceneLayoutRenderer;

    public function handleMousePressed (hobject :Object, event :MouseEvent) :Boolean
    {
        var viewPt :Point = _isoView.globalToLocal(new Point(event.stageX, event.stageY));
        moveBy(new Point(viewPt.x - _isoView.width / 2, viewPt.y - _isoView.height / 2));
        return true;
    }

    public function moveBy (pt :Point) :void
    {
        // No scene model yet, just do it...
        if (_model == null) {
            _isoView.centerOnPt(new Pt(pt.x + _isoView.currentX,
                pt.y + _isoView.currentY), false);
            return;
        }


        _objScene.layoutRenderer = new ClassFactory(PrioritizedSceneLayoutRenderer);

        addChild(_loading = createLoadingPanel());

        addEventListener(Event.ADDED_TO_STAGE, addedToStage);
        addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
    }

    /**
     * Handles Event.ADDED_TO_STAGE.
     */
    protected function addedToStage (event :Event) :void
    {
        _ctx.getTicker().registerTickable(this);
    }

    /**
     * Handles Event.REMOVED_FROM_STAGE.
     */
    protected function removedFromStage (event :Event) :void
    {
        _ctx.getTicker().removeTickable(this);
    }

    public function tick (tickStamp :int) :void
    {
        _centerer.tick(tickStamp);
    }

    /**
