Rather than swizzling, let's just use a category of the appropriate subclass.