Introduce Dictionary text V2 with structs

Not happy with this particularly - feels like I'm regressing back to my OO days. Suggestions?