whole_func_string: function(options) {
  	// TODO: validate that the strings passed in don't have invalid characters either
  	if(options.engine_reference) {
  		validateEngineReference(options.engine_reference)
  	}
  	else {
  		new Error('An engine reference is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  
  	if(options.template_root_directories) {
  		options.template_root_directories = validateTemplateRootDirectories(options.template_root_directories);
  	}
  	else {
  		new Error('The "template_root_directories" is a required property in order to use partial-loader. Please provide this in the function that calls this.')
  	}
  
  	if(options.partials_directory_names) {
  		options.partials_directory_names = validatePartialDirectoryNames(options.partials_directory_names);
  	}
  	else {
  		new Error('The "template_partials_directory(s)" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  
  	if(options.template_extensions) {
  		options.template_extensions = validateTemplateExtensions(options.template_extensions);
  	}
  	else {
  		new Error('The "template_extensions" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  }
func_code_string: function(options) {
  	// TODO: validate that the strings passed in don't have invalid characters either
  	if(options.engine_reference) {
  		validateEngineReference(options.engine_reference)
  	}
  	else {
  		new Error('An engine reference is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  
  	if(options.template_root_directories) {
  		options.template_root_directories = validateTemplateRootDirectories(options.template_root_directories);
  	}
  	else {
  		new Error('The "template_root_directories" is a required property in order to use partial-loader. Please provide this in the function that calls this.')
  	}
  
  	if(options.partials_directory_names) {
  		options.partials_directory_names = validatePartialDirectoryNames(options.partials_directory_names);
  	}
  	else {
  		new Error('The "template_partials_directory(s)" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  
  	if(options.template_extensions) {
  		options.template_extensions = validateTemplateExtensions(options.template_extensions);
  	}
  	else {
  		new Error('The "template_extensions" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
  	}
  }
func_documentation_string: validateInput
  [ This is the top level entry point for validating the options provided. ]
  @param { Object } options                                               [ This is a container object for the partials-loader to use. ]
  @param { Object } options.engine_reference                              [ This is the template engine that the partials files found will be registered with. ]
  @param { String or Array of Strings } options.template_root_directories [ These are the template root directories that will be recursively searched through. ]
  @param { String or Array of Strings } options.partials_directory_names  [ These are the directory names that will be matched against in order to identify a directory to recurse through for loading partials files. SPECIAL CHARACTERS: if the character '.' is passed in, this will indicate to the partials loader that the template directory itself should be loaded as a partials directory. If it is passed in with an array of other strings the '.' will take precedence and will just iterate from the template directory down. ]
  @param { String OR Array of Strings } options.template_extensions       [ These are the extensions of the template files to load. ]
  @param { String } options.delimiter_symbol                              [ This is the delimiter used for namespacing, when files are loaded their directories are separated by this value. ]
  @return { undefined }                                                   [ This returns nothing. ]