Add new_variable_full

Route everything through that.
Add new_variable_enum

This seems to work. Yay.
Whitespace that I don't feel like rebasing

Sigh. Tabs and spaces.