Patch Set 2: I would prefer that you didn't submit this; No score

Extracting the inner class ProjectRecord doesn't seem to be related to the change described in the commit message. Hence I would prefer to split this commit into independent changes.