Just a simple implementation of subclassable NSObject subclass that uses the Objective-C runtime to create NSCoding compliance for all subclasses, allowing it to be stored in any PFObject or PFObject subclass using NSKeyedArchiver and NSKeyedUnarchiver