Refactored a bit, TotalInfection and LimitedInfection will be methods inside the Infection class rather than have their own classes.