How to dynamically map a String Table at run-time?

How can a String Table be dynamically populated (mapped) in a flow service at run-time? We would like to use this String Table as follows: use the String Table as a hashtable with String key and String value; populate the String Table at run-time from external data; use the pub.string:lookupTable service to query the String Table; and do this with no Java code. Here’s some psuedo code for the flow service.

LOOP
GET $key, $value FROM EXTERNAL SOURCE
MAP myStringTable[$key][$value]
END

LOOP
GET $key_to_query FROM EXTERNAL SOURCE
$value = pub.string:lookupTable(myStringTable, $key_to_query)
END

How is the MAP myStringTable[$key][$value] statement done in a flow service? Can this somehow be done with pub.list:appendToStringList? Please describe and example.

Thanks,
Jay