Hello,
The jgardou changes add thousands of whitespace changes which make it extremely hard to understand what is going on. Please to not arbitrarily change whitespace across 18 files in a patch!
Also, there is nothing wrong with the way ClassPNP was defined before. If you think "How on Earth did this work in trunk?", as quoted from the commit log, maybe you should ask others "Hey, how did this work?".
Please revert the changes and come ask how it worked, I'll be happy to help.
-r