testing cleanup: accept object directly in addAttribute