But how should this be configured by the user and being applied to various skins?In MP2 only the Data is provided by the code - the plugin dev cannot even dictate the controls - and everything about how you want it to look is up to the skin designer ;-)
So every widget has a so called Workflow Model providing data and what the UI does with that data is up to the skin designer.
This is done by matching a xaml template to the type of model. The default will be used when a skin does not provide its own as fallback.
Currently the designer defines the look and feel. But the user should be able to configure it the designer is not that free anymore or each skin provides and applies it's own configuration so the layout of menus / widgets etc is not shared between skins.
A combination might a general skin configuration, which defines the menu structure > items, subitems etc. and the visibility of basic widgets.
These general settings are configurable by the use and all skins make use of them.
The problem here imo is the difference between customization & configuration between user and skinner.
Android way: static design, configurable by the user
Current MP2 way: flexible design defined by the skinner, less configurations by the user
So with widgets etc you mean a "layer" in between these worlds I guess?
Of course a user might also be able to touch skin files, but I guess this is not what this thread is about