Refactoring NSGA-II