Using NSInvocation instead of objc_msgSend for all the cases of the big switch