Refactored Project class