Did some refactoring so it doesn't generate so many formatter instances
refactored the formattable module