Сделал фабрику для виджетов по типу и хранителя для сохранения состояния рабочего стола (вообще лажа, но делалось для курсовой работы по паттернам)