Finishing up updateList()

This also moves all parsing into it's own class, as it was getting long.
Still some debug code in there, but I don't feel comfortable removing
that yet.