Roughed out SimpleProperty implementations.
Fixed typo in comment.
Roughed out typed properties, refactored existing, created traits to reuse
code. Added test cases.