anchor.diff:      KeyCode.B: Direction.SW,
       KeyCode.N: Direction.SE,
     };
  +
     Coordinate _pos;
     Actor _hero;
  -  CanvasScreen _screen;
  -  WalkDemo(this._screen)
  -      : _pos = new Grid(3, 3),
  -        _hero = new Actor('@', 'olive') {
  +
  +  MainScene()
  +      : _hero = new Actor('@', 'olive') {
       Stage.current_stage = new Stage(new Size(80, 20));
       Stage.current_stage
         ..putActor(_hero, const Coordinate(3, 3))
  
positive.code:   }
  }
  
  /// WalkDemo
  class WalkDemo implements Game {
    static final Map<int, Coordinate> _dirs = {
      KeyCode.H: Direction.W,
      KeyCode.J: Direction.S,
  
negative.code:     Stage.current_stage
        ..pickupActor(current)
        ..putActor(_hero, to);
    }
  
    void render(CanvasScreen screen) {
      screen.clear();
      Stage.current_stage.render(screen);
    }
  }
  
  /// WalkDemo
  class WalkDemo implements Game {
    CanvasScreen _screen;
  
    WalkDemo(this._screen) {
      Scene.active_scene = new TitleScene();
    }
  
    void keyDown(int key) {
      Scene.active_scene.keyDown(key);
    }
  
    void render() {
      Scene.active_scene.render(_screen);
    }
  }
  