function ArrayDataModel(array) {
    this.array_ = array;
    this.indexes_ = [];
    this.compareFunctions_ = {};

    for (var i = 0; i < array.length; i++) {
      this.indexes_.push(i);
    }
  }
A data model that wraps a simple array and supports sorting by storing
initial indexes of elements for each position in sorted array.
@param {!Array} array The underlying array.
@constructor
@extends {EventTarget}