Use func_hook.kwargs.pop instead of .get, so that we know what args aren't used. Then warn about unrecognized args.
Don't need to pass logger around
autoHelp should be autohelp