code: function get_current_setting(params) {
        var configs = {};
        var local  = params.use || {};
        local = (typeof local == 'string') ? {binding: local} : local;
        var preset = (typeof params.preset == 'string') ? umecob.preset.vals[params.preset] : {};
        if (!preset) {
          Umecob.log('preset "'+params.preset+'" does not exist');
          preset = {};
        }
        var plain  = umecob.preset.vals.plain;
  
        configs.binding_tpl  = btyp(local.binding, 'tpl') || btyp(preset.binding, 'tpl') || btyp(plain.binding, 'tpl');
        configs.binding_data = btyp(local.binding, 'data') || btyp(preset.binding, 'data') || btyp(plain.binding, 'data');
        configs.compiler     = umecob.compiler(local.compiler) || umecob.compiler(preset.compiler) || umecob.compiler(plain.compiler);
        configs.start        = merge(arrset(local.start, 'start'), arrset(preset.start, 'start'), arrset(plain.start, 'start'), local.merge_start, preset.merge_start);
        configs.end          = merge(arrset(local.end, 'end'), arrset(preset.end, 'end'), arrset(plain.end, 'end'), local.merge_end, preset.merge_end);
        return configs;
      }
docs: /* get current setting