Now with property dsl and tests.