Открих, че използването на компоненти за данни води до приложение без ясно разграничение между бизнес и UI логика.
Това е добре за малки проекти, но с нарастването им кодът става все по-малко поддържаем.
Всички различни битове код на събитие (и техните взаимодействия) могат да се превърнат в истински кошмар за разбиране!
Неизменно в такива случаи съм изоставял компоненти, работещи с данни, и съм преминал към (ръчно кодиран) MVC дизайн.
Това наистина изисква много първоначални усилия за програмиране, но води (IMHO) до проект, който може да се поддържа, разширяем и с възможност за отстраняване на грешки.