anchor.diff:          ..mouseEnabled = false;
       buttonText
           ..defaultTextFormat.topMargin = (buttonText.height -
  -            buttonText.textHeight) ~/ 2
  +            buttonText.textHeight) ~/
  +            2
           ..text = text;
   
       if (addToWorld) {
         this.addToWorld();
       }
     }
  -  
  +
     /**
      * Create a Button object from an image.
      * 
      * * resourceName: name of the image in the resourcesManager
      */
  -  Button.image(State stateContext, String resourceName, String text, {bool
  -      addToWorld: true}) 
  -    : this.bitmapdata(stateContext, 
  -        stateContext.game.resourceManager.getBitmapData(resourceName), 
  -        text, addToWorld: addToWorld);
  -  
  +  Button.image(State stateContext, String resourceName, String text,
  +      {bool addToWorld: true})
  +      : this.bitmapdata(
  +          stateContext,
  +          stateContext.game.resourceManager.getBitmapData(resourceName),
  +          text,
  +          addToWorld: addToWorld);
  +
     /**
      * Create Button from an image inside a texture atlas.
      * 
      * * textureAtlasName: name of the texture atlas in the resourceManager
      * * resourceName: name of the resource in the texture atlas(image name without extension)
      */
  -  Button.textureatlas(State stateContext, String resourceName, 
  -      String textureAtlasName, String text, {bool addToWorld: true}) 
  -    : this.bitmapdata(stateContext, 
  -        stateContext.game.resourceManager.getTextureAtlas(textureAtlasName)
  -          .getBitmapData(resourceName), 
  -        text, addToWorld: addToWorld);
  +  Button.textureatlas(State stateContext, String resourceName,
  +      String textureAtlasName, String text, {bool addToWorld: true})
  +      : this.bitmapdata(
  +          stateContext,
  +          stateContext.game.resourceManager.getTextureAtlas(
  +              textureAtlasName).getBitmapData(resourceName),
  +          text,
  +          addToWorld: addToWorld);
   
     set x(int x) {
       super.x = x;
       buttonText.x = x;
     }
  -  
  +
     set y(int y) {
       super.y = y;
       buttonText.y = y;
     }
  -  
  +
     /**
      * Add button to the world.
      */
  
positive.code:    * * text: label of the button
     * * addToStage: add the button to the stage?
     */
    Button.bitmapdata(State stateContext, StageXL.BitmapData bitmapData, String
        text, {bool addToWorld: true}) : super(bitmapData) {
      _context = stateContext;
  
      buttonText = new Text(stateContext, text, addToWorld: false)
  
negative.code:     _context.game.world.addChild(this);
      _context.game.world.addChild(buttonText);
    }
  
    /**
     * Get state which the button was made.
     */
    State get context => _context;
  
    Map<String, bool> _isDownBy = new Map<String, bool>();
  
    /**
     * Checks if the button is held down by touch.
     */
    bool isDownByTouch() {
      if (!_isDownBy.containsKey('touch')) {
        _isDownBy['touch'] = false;
        onTouchBegin.listen((_) {
          _isDownBy['touch'] = true;
        });
        onTouchEnd.listen((_) {
          _isDownBy['touch'] = false;
        });
  
      }
      return _isDownBy['touch'];
  
    }
  
  }
  