option formatters moved into a separate module

They can now be easily reused in commands if needed.