def reset():
        """
        Установить словарь фабрик в первоначальное состояние. Используется для тестирования.
        Это не конструктор. В случае изменения списка фабрик, установленных по умолчанию, нужно изменять этот метод.
        """
        FactorySelector._factories = {
            factory.getTypeString(): factory
            for factory in [WikiPageFactory(), HtmlPageFactory(), TextPageFactory(), SearchPageFactory()]
        }

        Application.onPageFactoryListChange(newfactory=None)
 def removeFactory(typeString):
     """
     Удаляет фабрику из словаря
     """
     FactorySelector._factories.pop(typeString, None)
     Application.onPageFactoryListChange(newfactory=None)
 def addFactory(newFactory):
     """
     Добавить новую фабрику. При этом у фабрики может быть новый создаваемый тип страниц, в то же время фабрика может заменить существующую фабрику.
     """
     FactorySelector._factories[newFactory.getTypeString()] = newFactory
     Application.onPageFactoryListChange(newfactory=newFactory)