self.vars is now a Vars instance, not a dict