I wonder it would be better if the contract for Data was SpecificRecord generate() then in each Data implementation you'd be working with the typesafe, generated class, instead of a Map.
Currently we only use the generated schema classes to grab the String representation of the schema. We could make better use of them and actually return the typesafe class when generating data, rather than a Map.
From PR #1:
Currently we only use the generated schema classes to grab the String representation of the schema. We could make better use of them and actually return the typesafe class when generating data, rather than a Map.