I'd basically say:
"Before I accepted this pull request, I would ask you to do a lot of refactoring. However, it's too complicated to explain in comments on the diff. Why don't we sit down and fix it together?"
Then explain your reasoning for the overall changes and each smaller change face to face in a pairing session (or series thereof).