Add support for custom property getters and setters

Also document overriding of properties.