register(name, variable) {
    if (!this.vars[name]) {
      this.vars[name] = [variable];
    }
    this.vars[name].push(variable);
  }
Registers variables in function scope.

All variables (including function name and params) are first
registered as function scoped, during hoisting phase.
Later they can also be registered in block scope.

@param  {String} name Variable name
@param  {Variable} variable Variable object