code: function(mbr) {
          mbr = mbr || {};
          if (!this._mbr) {
              return this.pos(mbr);
          } else {
              mbr._x = this._mbr._x;
              mbr._y = this._mbr._y;
              mbr._w = this._mbr._w;
              mbr._h = this._mbr._h;
              return mbr;
          }
      }
docs: @
  #.mbr
  @comp 2D
  @kind Method
  
  @sign public Object .mbr([Object mbr])
  @param mbr - an object to use as output
  @returns an object with `_x`, `_y`, `_w`, and `_h` properties; if an object is passed in, it will be reused rather than creating a new object.
  
  Return an object containing a copy of this entity's minimum bounding rectangle.
  The MBR encompasses a rotated entity's bounds.
  If there is no rotation on the entity it will return its bounds (`.pos()`) instead.
  
  @note The keys have an underscore prefix. This is due to the x, y, w, h properties
  being setters and getters that wrap the underlying properties with an underscore (_x, _y, _w, _h).
  
  @see .pos