Add mode/system geom string generation;Refactor

I see. Yeah, when I was looking back over the code I noticed that both mode and type were used for this - I had initially used 'type' and so assumed that I introduced the inconsistency.