Это очень интересный вопрос, но я думаю, что правда зависит от всей вашей архитектуры, реализации и подходов, которые вы используете.
Скажем, если вы беспокоитесь о «разделении интересов», вы не дадите всплывающему окну никакого доступа к API, потому что его работа - показать вам некоторые данные в виде всплывающего окна, вернуть данные и все.
С другой стороны, как вы справляетесь с ошибками? Что делать, если возникает ошибка, когда пользователь работает во всплывающем окне? Где вы показываете ошибку?
Другой вопрос - это удобство использования. Например, если при сохранении данных возникает ошибка, если это происходит в главном окне, вы собираетесь:
Показать сообщение об ошибке
Заставьте пользователя снова нажать какую-нибудь кнопку, чтобы отобразить всплывающее окно
Исправьте проблему и нажмите в ней кнопку Сохранить.
Но если бы вы обращались к API прямо из всплывающего окна, вы бы избежали первых двух шагов. Другая проблема заключается в том, как вы обрабатываете неправильные данные.
Если вы все еще во всплывающем окне, вы легко можете проверить данные и отменить сохранение (или вообще отключить эту кнопку), но если это будет сделано после закрытия всплывающего окна, это может быть слишком поздно.