Moved extra parameters to extra_properties hash

To make it easier to consume optional properties, they are moved
to an extra hash instead of in individual attributes.