     
     internal let settings: Settings
 
-    internal var lines = [Line]()
-    internal var filteredLines = [Line]()
+    internal var lines = [CustomStringConvertible]()
+    internal var filteredLines = [CustomStringConvertible]()
     
     internal var contentWidth: CGFloat = 0.0
     

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

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