DRYed up how attribute names are defined. Added support for additional_attributes option.
Added documentation for additional_attributes option.