Breaking out classes into separate files and removing platform namespace