code: function defaultProps( target, overwrite ) 
  {
  	overwrite = overwrite || {};
  	for( var prop in overwrite ) {
  		if( target.hasOwnProperty(prop) && _isValid( overwrite[ prop ] ) ) {
  			target[ prop ] = overwrite[ prop ];
  		}
  	}
  	return target;
  }
docs: replace target object properties with the overwrite
  object properties if they have been set
  @param  {object} target    - object to overwrite
  @param  {object} overwrite - object with new properies and values
  @return {object}