code: function extend(receiver, extension, path) {
      var props = has(path) ? path.split('.') : [],
          target = receiver,
          i; // iterative variable
  
      for (i = 0; i < props.length; i += 1) {
          if (!has(target, props[i])) {
              target[props[i]] = {};
          }
          target = target[props[i]];
      }
  
      mix(target, extension);
  
      return target;
  }
docs: Extends the extension into the reciever
  
  @param {Object} reciever  object into which to extend
  @param {Object} extension object from which to extend
  @param {String} [path]    followed on the reciever before executing
  the extend (form: "obj.obj.obj")
  @memberOf object
  @return the extended object (after having followed the path)