add ability to define attributes as properties for direct access. also made metadata attributes be readonly properties.