Fulll spec TBD...
— original post from jacob singh -----
Currently Component.php has static lists of components that can be enabled and their meta-data. Ideally, these components should be defined in a config file, and they should expose their own meta-data through some type of Mycomponent::info() method. This will allow developers to build components and not break version control.