C# 2.0:I don't know why I didn't see this comming
I missed a key feature of C# 2.0, despite all the content I read. The coolest part is the ability to have different access levels for property getters and setters. This opens possibilities like public getters but protected setters. Abhinaba's blog has more details.