не очень громоздко?
А мы же можем в setError сохранять данные модели в data? А дальше работать с ней как обычно