added support for private and read-only properties on Models