def METHOD_NAME(columns, width, margin, format_string, format_args, columns_dict, color="yellow", **textwrap_kwargs):
    """
    Print columns based on list of columnar text, associated formatting string and associated format arguments.
    :param columns: list of columnnar text that go into columns as specified by the format_string
    :param width: width of the text to be wrapped
    :param margin: margin to be reduced from width for cleaner UX
    :param format_string: A format string that has both width and text specifiers set.
    :param format_args: list of offset specifiers
    :param columns_dict: arguments dictionary that have dummy values per column
    :param color: color supplied for rows within the table.
    :param textwrap_kwargs: keyword arguments that are passed to textwrap.wrap
    """
    for columns_text in zip_longest(*wrapped_text_generator(columns, width, margin, **textwrap_kwargs), fillvalue=""):
        counter = count()
        # Generate columnar data that correspond to the column names and update them.
        for k, _ in columns_dict.items():
            columns_dict[k] = columns_text[next(counter)]
        click.secho(format_string.format(*format_args, **columns_dict), fg=color)