A 'variable' node in the material editor

Why has something like this not been done yet. Imagine how much easier it would be to create complex materials with a feature like this. Epic, you guys reading this?