Refactoring NSGA-III