anchor.diff:            isMovable: isMovable);
   
     /**
  -   * Controlls how the object is moving.
  -   * This implementation is good enough for simple sprites.
  -   * You can make the sprite move with changing the vx or vy value.
  +   * Defines where the sprite will move next.
      */
     bool advanceTime(num time) {
       if ((x <= 0 || x >= _context.game.world.width) ||
  
positive.code:    * Gets the context(State) in which the Sprite was created.
     */
    State get context => _context;
  
    void rotate(num rads) {
      rotation += rads;
      upDirection = upDirection.rotate(rads);
      downDirection = downDirection.rotate(rads);
      leftDirection = leftDirection.rotate(rads);
      rightDirection = rightDirection.rotate(rads);
    }
  
    /*void set rotate(num angle) {
      mainDirection.rotate(angle * (math.PI / 180));
    }*/
  
    move(String direction) {
      switch (direction) {
        case 'up':
        case 'forward':
          mainDirection += upDirection;
          break;
        case 'down':
        case 'backward':
          mainDirection += downDirection;
          break;
        case 'left':
          mainDirection += leftDirection;
          break;
        case 'right':
          mainDirection += rightDirection;
          break;
      }
    }
  
    stop() {
      if (!mainDirection.isZero) mainDirection = new StageXL.Vector.zero();
    }
  
  }
  
negative.code:   State _context;
  
    /**
     * Does the sprite move?
     */
    bool isMovable;
  
    /**
  