code: function(target, source, all) {
          target = target || {};
          for (var key in source) {
              // merge only if hasOwnProperty unless `all´ flag is set
              if (all || source.hasOwnProperty(key)) {
                  target[key] = source[key];
              }
          }
          return target;
      }
docs: merge/overwrite objects