constructor(
      id, url, opt_imageEventCallback, opt_requestCompleteCallback,
      opt_maxRetries) {
    super();

    this.id_ = id;

    /**
     * Uri to make the request too.
     * @type {string}
     * @private
     */
    this.url_ = url;

    /**
     * The maximum number of times the request should be retried.
     * @type {number}
     * @private
     */
    this.maxRetries_ = (opt_maxRetries !== undefined) ?
        opt_maxRetries :
        ee.MapTileManager.MAX_RETRIES;

    /**
     * Callback attached to the events of the ImageLoader object.
     * @type {Function|undefined}
     * @private
     */
    this.imageEventCallback_ = opt_imageEventCallback;

    /**
     * Callback function called when request is complete.
     * @type {Function|undefined}
     * @private
     */
    this.requestCompleteCallback_ = opt_requestCompleteCallback;
  }
@param {string} id Unique id for the request.
@param {string} url Uri to make the request too.
@param {Function=} opt_imageEventCallback Callback attached to the events
       of the ImageLoader object of the request.
@param {Function=} opt_requestCompleteCallback Callback function for when
       request is complete. NOTE: Only 1 callback supported across all
events.
@param {number=} opt_maxRetries The maximum number of times the request
    should be retried (Default: 1).