code: function Molecule(classes) {
  	var molecule = {
  		className: '',
  		atoms: [],
  		pseudoTypes: [],
  		mediaQueries: []
  	};
  
  	function stripMoleculeName() {
  		molecule.className = _.remove(classes, function (name){
  			return name[0] === '_';
  		})[0];
  	}
  
  	function getAtoms() {
  		molecule.atoms = classes.map(function (atom) { return Atom(atom); });
  	}
  
  	function getPseudoClassNames() {
  		molecule.atoms.map(function (atom){ 
  			if(atom.pseudo !== '' && !_.contains(molecule.pseudoTypes, atom.pseudo)){
  				molecule.pseudoTypes.push(atom.pseudo);
  			}
  		});
  	}
  
  	function getMediaQueries() {
  		molecule.atoms.map(function (atom){ 
  			if(atom.mediaQuery !== '' && !_.contains(molecule.mediaQueries, atom.mediaQuery)){
  				molecule.mediaQueries.push(atom.mediaQuery);
  			}
  		});
  	}
  
  	stripMoleculeName()
  	getAtoms();
  	getPseudoClassNames();
  	getMediaQueries();
  
  	return molecule;
  }
docs: **********************************************************************