While using properties to create a DSL does not feel like news to me, I read something that felt fresh a few days ago. It was this post on how to use extension methods to separate contexts from each other instead of having an object have methods/properties for all contexts (or even several types of objects representing the same thing but in different contexts). I think that is a very interesting idea. I just need to find a suitable little project to test it on...