"на основе задаваемой в него иммутабельной структуры PassCode. " не оч понятно
Есть класс PassCode, который никак не меняется кроме конструктора (либо у него есть методы изменения, но они возвращают другой экземпляр), его ты подаешь в свой вью и твой вью с ним работает