very clean, and sensible to put the responsibility for this in the initializer.  I was beginning to wonder what the point of the class-level get is beyond updating the class_level hash of locations