This function basically sets up :attr:`.system`, if it is not yet set up. After that,
            other Callable initialization actions are performed.

            :param init: value ``True`` is given when running this at the initialization phase. Then system
                         attribute is set already, but callable needs to be initialized otherwise.

def setup_callable_system(self, system, init=False):
        """
            This function basically sets up :attr:`.system`, if it is not yet set up. After that,
            other Callable initialization actions are performed.

            :param init: value ``True`` is given when running this at the initialization phase. Then system
                         attribute is set already, but callable needs to be initialized otherwise.

        """
        if not self.system or init:
            self.system = system
            self._fix_list(self._args)
            self._fix_list(self._kwargs)
            for i in self.children:
                if isinstance(i, AbstractCallable):
                    i.setup_callable_system(system, init=init)
                elif isinstance(i, SystemObject):
                    i.system = system
            self.on_setup_callable = 1
            self.logger.debug('setup_callable_system for %s (%s) ready.', self, id(self))