Splits the Extension class into multiple classes

This allows to have more specific classes, and makes able to use the AllediaInstaller without depends on this framework.