Public Class Reporter

    Public Property Entries As IList(Of ReportEntry)

    Public Sub New()
        Entries = New List(Of ReportEntry)
    End Sub

    Public Sub AddEntry(text As String, color As Color, Optional style As FontStyle = FontStyle.Regular, Optional lineFeed As Boolean = True)
        Dim entry As New ReportEntry() With {
            .Color = color,
            .FontStyle = style,
            .Text = text
        }

        If entry.Text = "-" Then
            entry.Text = New String("-", 150)
        End If

        If lineFeed Then
            entry.Text = entry.Text + Environment.NewLine
        End If

        Entries.Add(entry)
    End Sub

    Public Sub AddEntry(text As String, Optional style As FontStyle = FontStyle.Regular, Optional lineFeed As Boolean = True)
        AddEntry(text, Color.Black, style, lineFeed)
    End Sub

    Public Sub Clear()
        Entries.Clear()
    End Sub

End Class

Public Class ReportEntry
    Public Property Color As Color
    Public Property FontStyle As FontStyle
    Public Property Text As String
End Class