7/29/2014: re-factored ClassModel.variables to use a hashmap instead of a list. including tests.