User defined variables are variables that are evaluated in every Update(DateTime, DateTime) and can be used in other expressions.
The variables are evaluated in-order, if a variable "A" is used in the expression of another variable "B", then "A" must be defined before "B" in this list.
public List<VariableExpression> Variables { get; }