function ItemLayout(item) {
    var element = item._element;
    var elementStyle = element.style;

    this._item = item;
    this._isActive = false;
    this._isDestroyed = false;
    this._isInterrupted = false;
    this._currentStyles = {};
    this._targetStyles = {};
    this._nextLeft = 0;
    this._nextTop = 0;
    this._offsetLeft = 0;
    this._offsetTop = 0;
    this._skipNextAnimation = false;
    this._animOptions = {
      onFinish: this._finish.bind(this),
      duration: 0,
      easing: 0,
    };

    // Set element's initial position styles.
    elementStyle.left = '0px';
    elementStyle.top = '0px';
    item._setTranslate(0, 0);

    this._animation = new Animator(element);
    this._queue = 'layout-' + item._id;

    // Bind animation handlers and finish method.
    this._setupAnimation = this._setupAnimation.bind(this);
    this._startAnimation = this._startAnimation.bind(this);
  }
Layout manager for Item instance, handles the positioning of an item.

@class
@param {Item} item