use a simpler implementation on forwardInvocation: and methodSignatureForSelector: