An NSObject subclass that provides implementations of NSCoding, NSSecureCoding, NSCopying, and -isEqual: based on the object's properties. Based on AutoCoding. https://github.com/nicklockwood/AutoCoding