[UPDATE] Modifying the OptionalData object so that you can pass in multiple name/value pairs
[UPDATE] RecipientData contains an array of OptionalData objects - the OptionalData object is simply a name/value pair