Final refactor putting methods inside the classes they belong. Exciting