code: function Report(source){
  	this.name = null;
  	this.parameters = [];
  	this.template = null;
  	this.datasource = null;
  	this.progressUpdateUrl = null;
  
  	if (typeof source == 'object') {
  		console.log('setting report from object...');
  		for(var property in source) {			
  			console.log('property -> (' + property + ') == ' + typeof source[property]);
  			console.log(source[property]); 
  			if (property == 'datasource') {
  				this[property] = DataSource.create(source[property]);
  			} else if (property == 'parameters') {
  				this[property] = ReportParameter.create(source[property]);
  			} else {
  				this[property] = source[property];	
  			}		
  
  		}
  	} else {
  		this.name = source;
  	}
  
  	console.log('report initialized ==>');
  	console.log(this);
  }
docs: Defines everything needed to generate a report (name, parameters, template, datasource)
  @class Report
  @uses ReportParameter a parameter used to execute the report
  @param {String} name