Refactored semester download into a separate class