Merging large PEGKit changes/additions from SVN