Added an example using protocols and records.