Changed how the component system works