def _add_dependency(self, dependency, var_name=None):
if var_name is None:<EOL><INDENT>var_name = next(self.temp_var_names)<EOL><DEDENT>if (dependency, var_name) not in self.dependencies:<EOL><INDENT>self.dependencies.append((dependency, var_name))<EOL><DEDENT>return var_name<EOL>
Adds the given dependency and returns the variable name to use to access it. If `var_name`
is not given then a random one will be created.

Args:
    dependency (str):
    var_name (str, optional):

Returns:
    str