protected void onLoad(ConfigurationSection cs) throws Exception {
        for (Field field : getClass().getDeclaredFields()) {
            String path = field.getName().replaceAll("_", ".");
            if (field.getAnnotation(Path.class) != null) {
                path = field.getAnnotation(Path.class).value();
            }
            if (doSkip(field)) {
                // Do nothing
            } else if (cs.isSet(path)) {
                field.set(this, loadObject(field, cs, path));
            } else {
                cs.set(path, saveObject(field.get(this), field, cs, path));
            }
        }
    }