Can you clarify "each line trimmed"? Do you mean the caller is expected to perform this or it is performed for them?  Also it seems to be an implementation detail that might be best left off altogether.