<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def assemble_points(graph, assemblies, multicolor, verbose=False, verbose_destination=None):
 """ This function actually does assembling being provided a graph, to play with a list of assembly points and a multicolor, which to assemble """

    if verbose:
        print(">>Assembling for multicolor", [e.name for e in multicolor.multicolors.elements()],
              file=verbose_destination)
    for assembly in assemblies:
        v1, v2, (before, after, ex_data) = assembly
        iv1 = get_irregular_vertex(get_irregular_edge_by_vertex(graph, vertex=v1))
        iv2 = get_irregular_vertex(get_irregular_edge_by_vertex(graph, vertex=v2))
        kbreak = KBreak(start_edges=[(v1, iv1), (v2, iv2)],
                        result_edges=[(v1, v2), (iv1, iv2)],
                        multicolor=multicolor)
        if verbose:
            print("(", v1.name, ",", iv1.name, ")x(", v2.name, ",", iv2.name, ")", " score=", before - after, sep="",
                  file=verbose_destination)
        graph.apply_kbreak(kbreak=kbreak, merge=True)