<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _get_caller(self, conf):
        '''
        Get & setup caller from the factory.

        :param conf:
        :return:
        '''
        conf = self._setup_fun_config(copy.deepcopy(conf))
        if not getattr(self, '_caller', None):
            self._caller = salt.cli.caller.Caller.factory(conf)
        else:
            self._caller.opts = conf
        return self._caller