Create VariableSpec subclasses
A lot of code changes for variable name parsing

As I feared. It turns out to be a real nightmare.