The toNSDictionary and fromNSDictionary: methods should be extracted into a protocol that all of these classes implement.