Send a master control function back to the wheel system

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

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

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

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

        # Authenticated. Do the job.
        jid = salt.utils.jid.gen_jid(self.opts)
        fun = load.pop('fun')
        tag = salt.utils.event.tagify(jid, prefix='wheel')
        data = {'fun': "wheel.{0}".format(fun),
                'jid': jid,
                'tag': tag,
                'user': username}
        try:
            self.event.fire_event(data, salt.utils.event.tagify([jid, 'new'], 'wheel'))
            ret = self.wheel_.call_func(fun, **load)
            data['return'] = ret
            data['success'] = True
            self.event.fire_event(data, salt.utils.event.tagify([jid, 'ret'], 'wheel'))
            return {'tag': tag,
                    'data': data}
        except Exception as exc:
            log.exception('Exception occurred while introspecting %s', fun)
            data['return'] = 'Exception occurred in wheel {0}: {1}: {2}'.format(
                                        fun,
                                        exc.__class__.__name__,
                                        exc,
                                        )
            data['success'] = False
            self.event.fire_event(data, salt.utils.event.tagify([jid, 'ret'], 'wheel'))
            return {'tag': tag,
                    'data': data}