Clean up part 1

Moved everything into their own classes to avoid a HUGE main file