The file was approaching 3000 lines and contained multiple classes, making it a real PITA to navigate through. upcoming features would only add more LOC, so splitting was necessary.