>the mx components were very well designed and complete and (though >complicated) hit a nice sweet spot between many trade-offs.
I do agree that it was often about what types of apps you were building, however, just to provide another perspective, the mx components were neither well designed nor anywhere near a sweet spot for the apps I was building. They were clunky, bloated, untestable messes that required copying and pasting gobs of code or recompiling the whole SDK to add minimal additional functionality. Every day we had to invoke an escape hatch to do the work we needed.