Объяснения простые:
ООП и паттерны для того и предназначены, чтобы последующая модификация и поддержка приложения были проще, и было меньше ошибок.
Если у вас уже есть некоторые затруднения с поддержкой и изменением приложения, значит есть какие-то недочеты в архитектуре, и надо приводить ее в порядок.
Так что я думаю вы правы
А подскажите пожалуйста где можно почитать про boost signals подробнее???