Oh, I see you updated article with definition of Core Components.
How would you solve problem, when developing application for OS X and browser, when you have Universal Components using directly Core Components (or Environment-specific Functional Components)? I mean, you would have two application instances for two systems? Where one Universal Component will use HtmlInputComponent and other OSXInputComponent.
How would you solve the case, when you clearly need cross-platform application and there is layer that directly uses Core Components in your application?