def runner(self, load):
        '''
        Send a master control function back to the runner system
        '''
        # All runner opts pass through eauth
        auth_type, err_name, key = self._prep_auth_info(load)

        # Authenticate
        auth_check = self.loadauth.check_authentication(load, auth_type)
        error = auth_check.get('error')

        if error:
            # Authentication error occurred: do not continue.
            return {'error': error}

        # Authorize
        runner_check = self.ckminions.runner_check(
            auth_check.get('auth_list', []),
            load['fun'],
            load['kwarg']
        )
        username = auth_check.get('username')
        if not runner_check:
            return {'error': {'name': err_name,
                              'message': 'Authentication failure of type "{0}" occurred '
                                         'for user {1}.'.format(auth_type, username)}}
        elif isinstance(runner_check, dict) and 'error' in runner_check:
            # A dictionary with an error name/message was handled by ckminions.runner_check
            return runner_check

        # Authorized. Do the job!
        try:
            fun = load.pop('fun')
            runner_client = salt.runner.RunnerClient(self.opts)
            return runner_client.asynchronous(fun,
                                              load.get('kwarg', {}),
                                              username)
        except Exception as exc:
            log.exception('Exception occurred while introspecting %s')
            return {'error': {'name': exc.__class__.__name__,
                              'args': exc.args,
                              'message': six.text_type(exc)}}