Предлагаешь сделать все виджеты мутабельными?
Я не вникал как вы там сделали, но я так понимаю, что на каждый виджет одного класса создается свой экземпляр через фабрику, тогда зачем там иммутабельность. Разве что имеет смыcл преконфиг виджета, но тогда он должен через контейнер создаваться, а не через фабрику, и тогда все виджеты одного класса инстанцируются через методы with