Eric, regarding why I don't place nodeList in nodes:

nodes is a Map of Strings to ConjureTemplateNode (implemented by the original author). The author calls generate on this set of nodes to generate a string to output at the end of the day. When interfacing with druid, I never actually use nodes at all.

nodeList is a list of cardinalityNodes and this is where I store all the nodes I create. I use this instead because I can call generateEvent on nodeList and it gives me a Map<String, Object> back representing an event which I can store directly into a queue. I can't do this if it were in nodes, because ConjureTemplateNodes currently don't support outputting as objects and are meant only to output Strings. 

I know this isn't a great solution but I'm not sure what the best way forward is.