Moved SafeMethodCaller into its own header file