def _print_to_element(multiline_element, *args, end=None, sep=None,
    text_color=None, background_color=None, autoscroll=True):
    """
    Print like Python normally prints except route the output to a multline element and also add colors if desired

    :param multiline_element:  The multiline element to be output to
    :type multiline_element: Multiline or MultilineOutput
    :param args:  The arguments to print
    :type args: List[Any]
    :param end:  The end char to use just like print uses
    :type end: (str)
    :param sep:  The separation character like print uses
    :type sep: (str)
    :param text_color: color of the text
    :type text_color: (str)
    :param background_color: The background color of the line
    :type background_color: (str)
    :param autoscroll: If True (the default), the element will scroll to bottom after updating
    :type autoscroll: Bool
    """
    end_str = str(end) if end is not None else '\n'
    sep_str = str(sep) if sep is not None else ' '
    outstring = ''
    num_args = len(args)
    for i, arg in enumerate(args):
        outstring += str(arg)
        if i != num_args - 1:
            outstring += sep_str
    outstring += end_str
    multiline_element.update(outstring, append=True, text_color=text_color,
        background_color=background_color, autoscroll=autoscroll)
