Separate the meat of the code into a module
Use a more interesting internal data type

Now we are storing an array of strings and other arrays and getting
them back out again.

I might later split the conversion code into a separate module just
to make things clearer.
Add method for setting internal data