anchor.diff:    Map<String, ImageElement> _images = new Map<String, ImageElement>();
     Map<Symbol, Texture> _textures = new Map<Symbol, Texture>();
   
  -  add(Symbol id, String filename, int x, int y, int w, int h) {
  +  Texture add(Symbol id, String filename, int x, int y, int w, int h) {
       ImageElement img = _images.putIfAbsent(filename, () => new ImageElement(src: filename));
  -    _textures[id] = new Texture(img, x, y, w, h);
  +    return _textures[id] = new Texture(img, x, y, w, h);
     }
   
     // TODO Callback when all are complete
  
positive.code: 
  
  TextureManager textures = new TextureManager();
  
  
  main() {
  
negative.code: }
  
  
  class Entity {
    update(UpdateContext u) {}
    render(RenderContext r) {}
  }
  
  
  class Ship extends Entity {
    Texture _tex;
    int _x, _y;
  
    Ship(this._x, this._y) {
      _tex = textures.add(#player, "sprites.png", 16, 0, 16, 16);
    }
  
    update(UpdateContext u) {
      if (u.gameLoop.keyboard.isDown(Keyboard.LEFT)) {
        _x -= 1;
      }
      else if (u.gameLoop.keyboard.isDown(Keyboard.RIGHT)) {
        _x += 1;
      }
    }
    render(RenderContext r) {
      _tex.draw(r, _x, _y);
    }
  }
  