Hmm, interesting
Preserve whole object refactoring
Moved all the reporting into the buffer