cloneJSON = (source) => {
    const replacer = (key, value) => {
      if (typeof value === 'function') {
        return value;
      }
      return value;
    };
    return JSON.parse(JSON.stringify(source, replacer));
  }
deep JSON object clone

@param {Object} source
@return {Object}