You should probably split these classes up into separate files.