whole_func_string: function unConfigurableNamespace(ns_string, objToSearch, valueToSet) {
          var parent = objToSearch,
              shouldSetValue = typeof valueToSet !== _undefined,
              hasOwnProperty;
  
          ns_string.split('.').forEach(function (key, i, parts) {
              hasOwnProperty = parent.hasOwnProperty(key);
              if (i === parts.length - 1
                  && shouldSetValue && !hasOwnProperty) {
                  defineEnumProp(parent, key, valueToSet);
              }
              else if (typeof parent[key] === _undefined && !hasOwnProperty) {
                  defineEnumProp(parent, key, {});
              }
              parent = parent[key];
          });
  
          return parent;
      }
func_code_string: function unConfigurableNamespace(ns_string, objToSearch, valueToSet) {
          var parent = objToSearch,
              shouldSetValue = typeof valueToSet !== _undefined,
              hasOwnProperty;
  
          ns_string.split('.').forEach(function (key, i, parts) {
              hasOwnProperty = parent.hasOwnProperty(key);
              if (i === parts.length - 1
                  && shouldSetValue && !hasOwnProperty) {
                  defineEnumProp(parent, key, valueToSet);
              }
              else if (typeof parent[key] === _undefined && !hasOwnProperty) {
                  defineEnumProp(parent, key, {});
              }
              parent = parent[key];
          });
  
          return parent;
      }
func_documentation_string: Sets namespace string on obj and makes namespace configurable (@see Object.defineProper(ty|ties)).
  @param ns_string {String} - Namespace string; E.g., 'all.your.base'
  @param objToSearch {Object} - Object to set namespace string on.
  @param valueToSet {*|undefined} - Value to set at end of namespace string.
  @returns {*} - Value that was set at the end of the namespace propagation.