Pulled out data formatters
Removed second type parameter on conventions
Pulled out a executor class to simplify the ConventionClass