Changed formatters to use call instead of format so you can use procs and lambdas as formatters