Feature: Component Decentralization

This moves all Component Creation code into the modules for that component to allow for users to create their own components.