             if components.count == 1 {
                 prepend(sanitizedString: string)
             } else {
-                prepend(componentsSeparatedByBreaks: components)
+                prepend(components: components, separatedBy: ElementNodeDescriptor(elementType: .br))
             }
         }
 

            contents.replaceSubrange(range, with: string)
        }
        
        private func replaceCharacters(inRange range: NSRange, withComponents components: [String]) {
            guard let firstComponent = components.first,
                let lastComponent = components.last else {
                    assertionFailure("This should not be possible, review your logic.")

            contents.append(string)
        }
        
        private func append(components: [String], separatedBy separatorDescriptor: ElementNodeDescriptor) {
            guard let parent = parent else {
                assertionFailure("This method cannot process newlines if the node's parent isn't set.")
                return
