VariablesSystem refactored to provide more flexible support for reserved variables. SetValue, evaluateCondition and evaluateExpression now accept a list of reserved variables that can be of any type and as many as needed
Changes required to accommodate to new VariablesSystem API