Is there any reason this shouldn't be in another file? A 100+ line class seems worth of its own file