Instead of storing everything in key / value pair hashes, we store as much as possible in an array and then reference the items in the array using metatables. This provides us with a much lower memory footprint and just one level of table lookup indirection (so I think the speed will not be noticeably different)