Changed template evaluator to take a dictionary of variables instead of the object storing a single set of variables