Driver should optionally be able to create output structure based on first received message depending on message parser type. For example, the JSON parser should have a configuration for parsing a specific object or all objects.
During the initialization stage of the driver, it could parse the first JSON message, and automatically generate an output structure based on simpler parser configuration.
Parsers should be able to override implementation of getRecordStructure(), using a config value for auto-generating the record structure during driver initialization.