The cpp/h file was getting too large, so split off the individual subcomponents into their own h/cpp files to keep code maintainable.