code: function(){
  			var that = this;
  		
  			//render initial data
  			if(this._initialRender){ this._initialRender(); }
  			
  			//called if the i-th object is successfully populated
  			var populationSuccess = function(i){
  				return function(){
  					//after population work
  					that._renderAfterItemPopulation(i);
  					
  					//stop indicator
  					if (that.progressIndicators[i]) {
  						that.progressIndicators[i].stop();
  					}
  				};
  			};
  			
  			//called if the i-th object could not be successfully populated
  			var populationFailure = function(i){
  				return function(resp){
  					if(that._errorHandler) { that._errorHandler(i, resp); }
  					else { throw new Error(resp); }
  				};
  			};
  			
  			for(var i=0; i<this._model.getObjects().length; i++){
  				//before population render work
  				this._renderBeforeItemPopulation(i);
  				
  				//start indicator
  				if (this.progressIndicators[i]) {
  					this.progressIndicators[i].start();
  				}
  				
  				//population
  				this._model.getDetails(i).then(
  					populationSuccess(i), populationFailure(i)
  				);
  			}
  			
  			//cleanup render work
  			if(this._cleanupRender) { this._cleanupRender(); }
  		}
docs: [interface] dynamically populates and renders the model.