I wasn't expecting to find clean OOP modeling in an #Amiga emulator:
https://github.com/dirkwhoffmann/vAmiga/blob/master/Emulator/Amiga.h#L38
The instance variables map 1-to-1 with the custom chips present on the Amiga motherboard.
But it might get messier once they add support for Amiga models with different chipsets...