public static void loadVariables() {
    VariablesManager vm = ScrollingMenuSign.getInstance().getVariablesManager();

    vm.clear();
    for (File f : DirectoryStructure.getVarsFolder().listFiles(ymlFilter)) {
      vm.load(f);
    }
    Debugger.getInstance()
        .debug("Loaded " + vm.listVariables().size() + " variable sets from file.");
  }
  public static void loadMacros() {
    for (SMSMacro macro : SMSMacro.listMacros()) {
      macro.deleteTemporary();
    }

    for (File f : DirectoryStructure.getMacrosFolder().listFiles(ymlFilter)) {
      YamlConfiguration conf = YamlConfiguration.loadConfiguration(f);
      SMSMacro m = new SMSMacro(conf);
      SMSMacro.addMacro(m);
    }
    Debugger.getInstance().debug("Loaded " + SMSMacro.listMacros().size() + " macros from file.");
  }
  public static void loadViews() {
    ViewManager vm = ScrollingMenuSign.getInstance().getViewManager();

    for (SMSView view : vm.listViews()) {
      vm.deleteView(view, false);
    }

    for (File f : DirectoryStructure.getViewsFolder().listFiles(ymlFilter)) {
      Debugger.getInstance().debug(2, "loading view: " + f);
      YamlConfiguration conf = YamlConfiguration.loadConfiguration(f);
      SMSView view = vm.loadView(conf);
      if (view != null) {
        view.update(view.getNativeMenu(), new RepaintAction());
      }
    }

    Debugger.getInstance().debug("Loaded " + vm.listViews().size() + " views from file.");
  }
  public static void loadMenus() {
    MenuManager mm = ScrollingMenuSign.getInstance().getMenuManager();

    for (SMSMenu menu : mm.listMenus()) {
      menu.deleteTemporary();
    }

    for (File f : DirectoryStructure.getMenusFolder().listFiles(ymlFilter)) {
      try {
        Debugger.getInstance().debug(2, "loading menu: " + f);
        YamlConfiguration conf = YamlConfiguration.loadConfiguration(f);
        SMSMenu menu = new SMSMenu(conf);
        mm.registerMenu(menu.getName(), menu);
        menu.notifyObservers();
      } catch (SMSException e) {
        LogUtils.severe("Can't load menu data from " + f + ": " + e.getMessage());
      }
    }
    Debugger.getInstance().debug("Loaded " + mm.listMenus().size() + " menus from file.");
  }