I don't read enough code. I skimmed a few GB emulators today and saw some great approaches to structure. The nicest: https://github.com/Gekkio/mooneye-gb