Если понадобится в рантайме менять содержимое диалогов без участия пользователя, и одновременно, то этот способ непригоден.
Задача-то простая, и очень часто необходимая - создать клон уже созданного диалога, с сохранением внутренней логики, и позволить с ним работать.

Но это просто так не сделать, поскольку в BlackBox-реализации схемы MVC, представление диалога привязано к модели с помощью имени модели (а имя - это есть название переменной). На этом построена связь диалогов с интеракторами.

Теперь нужно получить другую модель, и другой набор представлений, с сохранением внутренней логики. В рамках концепции BlackBox, надо завести новую переменную и новый набор диалогов.

А ещё, диалоги настолько отделены от представляемых данных, что их можно хранить отдельно, а связь с данными устанавливается в момент загрузки, по имени переменной.

Отсюда вытекает простое решение - надо открыть копию документа, поменять имена интеракторов и восстановить связь с новыми моделями. Единственная проблема, которую тут необходимо решить, заключается в том, что надо знать, что на что заменять. Я думаю, что достаточно будет задать строку замены.
ParseDialog('MyModule.myInteractor', 'MyModule.myNextInteractor'),
и строка MyModule.myInteractor заменится на MyModule.myNextInteractor, а всё, что после MyModule.myInteractor, останется.

Это есть простейшее и надёжное решение, схема с подменой имени прямо на старте.
Всё остальное будет просто усложнением этой схемы. Надо попробовать.