Виртуальные машины являются частью вашего уровня пользовательского интерфейса. Хорошее разделение проблем требует, чтобы ответственность за загрузку данных была перенесена на другой уровень. Обычно я делаю это с помощью службы данных, которая загружает данные в модель. Сервис и модель затем используются моделями представления.
Обратите внимание, что ваши виртуальные машины могут использовать упомянутую службу для загрузки данных в соответствующие точки вашего приложения. Однако они не должны содержать фактическую логику для загрузки вашей модели.