Why rigs use value objects instead of attributes for parameterizing meshes?

objects such as PartScaleType, ScaleDampening - why not use SCALE_DAMPENING attribute, for example? what is the rationale behind this?