whole_func_string: function findChildAtPath (o, path, delimiter, original, invoked, done) {
                      done = libs.object.getCallback(arguments);
                      var self = o;
  
                      original = (!(original instanceof Function) && original) ? original : self;
                      invoked  = invoked || false;
  
                      if(typeof o === 'object' && typeof path === 'string') {
                          delimiter = typeof delimiter === 'string' ? delimiter : '.';
                          path      = path.split(delimiter);
  
                          var p = path.shift();
                          if(p) {
                              return libs.object.each(o, function (o, k, i, exit) {
                                  if(path.length === 0 && k === p) {
                                      done.call(original, o, self, k);
                                      invoked = true;
                                      exit(o);
                                  }
                                  else {
                                      var obj = libs.object.findChildAtPath(o, path.join(delimiter), delimiter, original, invoked, done);
                                      if(obj !== null) exit(obj);
                                  }
                              });
                          }
                      }
                      if(!invoked && original === self && done instanceof Function) done.call(original, null, self, null);
                      return null;
                  }
func_code_string: function findChildAtPath (o, path, delimiter, original, invoked, done) {
                      done = libs.object.getCallback(arguments);
                      var self = o;
  
                      original = (!(original instanceof Function) && original) ? original : self;
                      invoked  = invoked || false;
  
                      if(typeof o === 'object' && typeof path === 'string') {
                          delimiter = typeof delimiter === 'string' ? delimiter : '.';
                          path      = path.split(delimiter);
  
                          var p = path.shift();
                          if(p) {
                              return libs.object.each(o, function (o, k, i, exit) {
                                  if(path.length === 0 && k === p) {
                                      done.call(original, o, self, k);
                                      invoked = true;
                                      exit(o);
                                  }
                                  else {
                                      var obj = libs.object.findChildAtPath(o, path.join(delimiter), delimiter, original, invoked, done);
                                      if(obj !== null) exit(obj);
                                  }
                              });
                          }
                      }
                      if(!invoked && original === self && done instanceof Function) done.call(original, null, self, null);
                      return null;
                  }
func_documentation_string: Find a child of an object using the given path, split by the given delimiter (or '.' by default)
  @param {Object} o The object to operate on.
  @param {String} path The path to the child object
  @param {String=} [delimiter='.'] The path delimiter
  @param {Function=} done A callback for completion
  @return {*|Null} The child object at the given string path, or null if it doesn't exist.
  @function