Move arguments from the va_list to a vector so that we can ensure ordering
Make the NativeFunctionDelegateImpl functional.

... I hope I never have to touch this again. I'm so sorry.