expose dynamic_properties()
have _attachment default to None