JSON serialization for custom classes with NSCoding protocol