Cleaned up Attribute interface