Fix some minor code smells
Spinning in circles to fix Super constructors
Consolidate some code in main loop to methods