     // from interface SceneService_SceneMoveListener
     public function moveRequiresServerSwitch (hostname :String, ports :TypedArray) :void
     {
+        log.info("Scene switch requires server switch [host=" + hostname +
+                 ", ports=" + ports + "].");
+        // keep track of our current pending data because it will be cleared when we log off of
+        // this server and onto the next one
+        var pendingData :PendingData = _pendingData;
         // ship on over to the other server
         _wctx.getClient().moveToServer(hostname, ports, new ConfirmAdapter(
             function (reason :String) :void { // failed

        }
    }

    // documentation inherited
    override public function clientDidLogoff (event :ClientEvent) :void
    {
        super.clientDidLogoff(event);

        // clear out our business
        clearScene();
        _scache.clear();
        _pendingSceneId = -1;
        _pendingModel = null;
        _previousSceneId = -1;
        _sservice = null;
    }

    // from BasicDirector
    override protected function registerServices (client :Client) :void
    {

        if (failure) {
            // delete the now half-booched scene model from the repository
            try {
                _screp.deleteSceneModel(_pendingData.sceneId);
            } catch (ioe :IOError) {
                log.warning("Failure removing booched scene model " +
                            "[sceneId=" + _pendingData.sceneId + "].");
                log.logStackTrace(ioe);
            }

