PAttributeDefault is the first hook. It occurs when the product streams out from the database but before any attributes are applied. At this time, only two properties are known for certain: id and title. Some attributes exist already, such as valid.
Attributes set here will be overwritten by any content found in the database. This is the ideal place to set a default brand: the chosen value will be replaced by the brand of the product if a brand has been set. If no brand has been set, the default value will be retained.