Document & improve the attribute interface