def call(self, rs, name, user, fields):
        """Invoke a previously loaded object.

        :param RiveScript rs: the parent RiveScript instance.
        :param str name: The name of the object macro to be called.
        :param str user: The user ID invoking the object macro.
        :param []str fields: Array of words sent as the object's arguments.

        :return str: The output of the object macro.
        """
        # Call the dynamic method.
        if name not in self._objects:
            return '[ERR: Object Not Found]'
        func = self._objects[name]
        reply = ''
        try:
            reply = func(rs, fields)
            if reply is None:
                reply = ''
        except Exception as e:
            raise PythonObjectError("Error executing Python object: " + str(e))
        return text_type(reply)
Invoke a previously loaded object.

        :param RiveScript rs: the parent RiveScript instance.
        :param str name: The name of the object macro to be called.
        :param str user: The user ID invoking the object macro.
        :param []str fields: Array of words sent as the object's arguments.

        :return str: The output of the object macro.