@staticmethod<EOL><INDENT>def _build_late_dispatcher(func_name):<DEDENT>
def _late_dynamic_dispatcher(obj, *args):<EOL><INDENT>method = getattr(obj, func_name, None)<EOL>if not callable(method):<EOL><INDENT>raise NotImplementedError(<EOL>"<STR_LIT>" % (<EOL>func_name, obj))<EOL><DEDENT>return method(*args)<EOL><DEDENT>return _late_dynamic_dispatcher<EOL>
Return a function that calls method 'func_name' on objects.

        This is useful for building late-bound dynamic dispatch.

        Arguments:
            func_name: The name of the instance method that should be called.

        Returns:
            A function that takes an 'obj' parameter, followed by *args and
            returns the result of calling the instance method with the same
            name as the contents of 'func_name' on the 'obj' object with the
            arguments from *args.