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