Fixed the button problem of inheritance. Figured out that the original parent background wasn't being set to the current player color. This was because the setbackground calls were in the InfectionSpreader class (which the parent was never called with) meanwhile the parent was only being effected by its setType method which never changed the background at all. To fix this i removed and background changing from infectionSpreader and instead moved it directly to the GameButton setType() method where it should have been in the first place.