         return view
     }
     
-    fileprivate func calculateContentWidth(for line: Line) {
+    fileprivate func calculateContentWidth(for line: CustomStringConvertible) {
         let calculatedLineWidth = getWidth(for: line)
         if calculatedLineWidth > contentWidth {
             contentWidth = calculatedLineWidth
         }
     }
     
-    fileprivate func updateFilteredLines(with line: Line) {
+    fileprivate func updateFilteredLines(with line: CustomStringConvertible) {
         if isFilterActive {
             guard let filter = filterText else { return }
             if line.description.contains(filter) {

    
    internal let settings: Settings

    internal var lines = [Line]()
    internal var filteredLines = [Line]()
    
    internal var contentWidth: CGFloat = 0.0
    

        console.textField.delegate = self
    }
    
    internal func addLogLine(_ line: CustomStringConvertible) {
        calculateContentWidth(for: line)
        updateFilteredLines(with: line)
        lines.append(line)
