I want to develop an Android shell application that has options to download and install plugins from a central repository. The plugins show an icon on the shell surface and when tapped, get activated on the shell surface, which can be the same surface as the icons where there, or a new one. A multi tab shell is preferred, so that all the registered modules show their icons on one tab, and when tapped their main UI is rendered in another tab. The plugins must not be able to be installed separately, they have to have some signature/interface/intent to be known by the shell's plugin manager. Also when installed, they must not be visible to the Android system as separate apps. The last important note: the plug ins must not be loaded to show the icons. They must be loaded only when user taps on their icons.
The user should be able to remove the plugins.