This may be worth a comment here, maybe not in the code, but here in the commit comments.  Format.new is making a renderer (old terms) from the card, right?  Makes sense, but this is key to this refactoring, yes?