Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
Could you document why this is a singleton?