def METHOD_NAME(self, name: str) -> tk.Variable:
    section, option = self._parse_name(name)
    name = section + "." + option
    if name in self._variables:
        return self._variables[name]
    else:
        value = self.get_option(name)
        if isinstance(value, bool):
            var = tk.BooleanVar(value=value)  # type: tk.Variable
        elif isinstance(value, int):
            var = tk.IntVar(value=value)
        elif isinstance(value, str):
            var = tk.StringVar(value=value)
        elif isinstance(value, float):
            var = tk.StringVar(value=value)
        else:
            raise KeyError(
                "Can't create Tk Variable for " + name + ". Type is " + str(type(value))
            )
        self._variables[name] = var
        return var