on constructVariableManager return(createManager("System Props", value(convertToPropList(field(0), "\r").getAt("variable.manager.class")))) end on deconstructVariableManager return(removeManager(#variable_manager)) end on getVariableManager tMgr = getObjectManager() if not tMgr.managerExists(#variable_manager) then return(constructVariableManager()) end if return(tMgr.getManager(#variable_manager)) end on createVariable tid, tValue return(getVariableManager().create(tid, tValue)) end on removeVariable tid return(getVariableManager().Remove(tid)) end on setVariable tid, tValue return(getVariableManager().create(tid, tValue)) end on getVariable tid, tDefault return(getVariableManager().GET(tid, tDefault)) end on getIntVariable tid, tDefault return(getVariableManager().getInt(tid, tDefault)) end on getStructVariable tid, tDefault return(getVariableManager().GetValue(tid, tDefault)) end on getClassVariable tid, tDefault return(getVariableManager().GetValue(tid, tDefault)) end on getVariableValue tid, tDefault return(getVariableManager().GetValue(tid, tDefault)) end on variableExists tid return(getVariableManager().exists(tid)) end on printVariables return(getVariableManager().print()) end on dumpVariableField tField, tDelimiter return(getVariableManager().dump(tField, tDelimiter)) end