collector: Document (and reorder functions a bit)
reporter: Document
writer: Document