Project class now in its own file, DRY.