The main thing it buys you, and the reason I created what I have right now, is because re-creating the logic in this function is really annoying. Splitting the formatting and logging from the collection would make this even more reusable....maybe.