def add_callback(self, fn, *args, **kwargs):
if not callable(fn):<EOL><INDENT>raise ValueError("<STR_LIT>".format(type(fn)))<EOL><DEDENT>self._callbacks.append((fn, args, kwargs))<EOL>
Add a function and arguments to be passed to it to be executed after the batch executes.

        A batch can support multiple callbacks.

        Note, that if the batch does not execute, the callbacks are not executed.
        A callback, thus, is an "on batch success" handler.

        :param fn: Callable object
        :type fn: callable
        :param *args: Positional arguments to be passed to the callback at the time of execution
        :param **kwargs: Named arguments to be passed to the callback at the time of execution