Shifted to being a full-blown CApplicationComponent

Makes it easier to integrate with behaviors and other setups
Merge branch 'moving-to-application-component'