Changed order of method swizzling to avoid infinite valueForKey loops