progress диалог хотел впихнуть, для этого контекст передал + toast
пойми в чем суть мввм. Вьюха знает четко о своей вьюмодели (напрямую, без всяких интерфейсов). Вьюмодель в свою очередь НЕ знает о вью, не имеет ссылок на ее от слова никак.
В вьюмодели ты делаешь все свои грязные дела и обновляешь модель (хочешь выноси отдельным классом, хочешь просто делай ее в виде набора полей вьюмодели). View подписывается (обсервит, реализации могут разнится, в общем смотри паттерн Observer) на эти изменения модели и меняет UI в соответствии с ними. + view посылает на обработку в ту же вьюмодель всякие евенты с ui. Как-то так.
Главная идея в том что вью зависит и знает о вьюмодели, а вьюмодель о вью не знает, односторонняя зависимость, dependency inversion, вся херня.
Логику по максимуму пытайся вынести из вью в вьюмодель, вью отвечает только за то как отобразить данные, все.