title: Why have multiple ItemGroup and ItemDefinitionGroups?
body: <p>I've been working to create my msbuild *.vcxproj file from scratch to get a better understanding what msbuild does.  In examples like <a href="https://github.com/neilmendoza/ofxPtf/blob/master/example/example.vcxproj" rel="nofollow noreferrer">this</a> and for examples on MSDN, why is there a ItemGroup for a <code>ClCompile</code> tasks and a separate ItemGroup for a <code>ClInclude</code> tasks.  Could you just lump them all into one ItemGroup?  I also see multiple ItemDefinitionGroups in the example linked.  Why have multiple of these?</p>