Ich habe festgestellt, dass die Verwendung der datensensitiven Komponenten zu einer Anwendung ohne klare Unterscheidung zwischen Geschäfts- und UI-Logik führt.
Dies ist für kleine Projekte in Ordnung, aber wenn sie größer werden, wird der Code immer weniger wartbar.
All die verschiedenen Teile des Ereigniscodes (und ihre Interaktionen) können zu einem echten Albtraum werden!
Ausnahmslos habe ich in solchen Fällen datenbewusste Komponenten über Bord geworfen und bin zu einem (handcodierten) MVC-Design gewechselt.
Dies erfordert eine Menge Programmieraufwand im Voraus, führt aber (IMHO) zu einem Projekt, das wartbar, erweiterbar und debuggbar ist.