code: function processObjectName(s){
  	var d = {name: '', type:null, group: null};
  	if(s){
  		s = s.replace('{', '');
  		s = s.trim();
  		var ss = s.split(':');
  
  		d['group'] = ss[0];
  
  		if(ss.length <= 2){ // #1 || #2
  			if(!ss[1]){ // #1
  				d['name'] = ss[0];
  				d['group'] = null;
  			} else { // #2
  				d['name'] = ss[1];
  			}
  		}
  		else{ // #3 || #4
  			//ss = [0]=ObjectGroup, [1]=ObjectGroup, [2]=null, [3]=ObjectName (, ObjectType)
  			if(ss[3].indexOf(',') > -1){ // #4
  				var tnp = ss[3].split(',');
  				tnp[1] = tnp[1].trim();
  				d['name'] = tnp[0];
  				d['type'] = tnp[1];
  			}
  			else{ // #3
  				d['name'] = ss[3];
  			}
  		}
  
  		for(i in d){
  			if(d[i]){
  				d[i] = d[i].replace(/"/g, '').replace(/ /, '');
  			}
  		}
  	}
  
  	return d;
  }
docs: /* function to get the object name and possible type/description of the object.
  line data passed in as a string, returns {name: str, type: str|null} 1. ObjectName: { (ex: FBXHeaderExtension:) 2. ObjectGroup: ObjectName { (ex: ObjectType: "Geometry") 3. ObjectGroup: "ObjectGroup::ObjectName" { (ex: Model: "Model::Cube") 4. ObjectGroup: "ObjectGroup::ObjectName", "ObjectType" { (ex: Model: "Model::Producer Top", "Camera")