Allow a callback to override any formatting
Refactoring
More refactoring
Don't cache