@classmethod
def set(cls, section, key, value):
    """
        Sets a key in the configuration (creating it if it does not exist), and persists
        the change to disk.
        """
    cls.__ensure_config()
    if not cls.__config.has_section(section):
        cls.__config.add_section(section)
    cls.__config.set(section, key, value)
    cls.__config.write(open(cls.path(), 'w'))
