Интеграция нового функционала в имеющийся продукт. Так как продукт массовый, то нельзя, чтобы что-то сломалось, даже потенциально, из-за нового функционала. Новый функционал должен быть максимально изолирован и независим.
Вот это - " Второй модуль - перехватывает действия в модалке и выводит своё дополнительное поле. Нужно сделаать именно базу для этих скриптов" - практически стопроцентный способ сломать старый код
Не в текущей ситуации, тут он прав. Понимаю, что на первый взгляд это выглядит дико и странно. Но при более глубоком погружении в проблему становится понятна причина. Согласен, что исходный код править проще и логичнее. Но в текущий ситуации задача именно сделать новые независимые модули