add experimental RecordObject with __setattr__ override