I don't like this method at all because it is simply exposing an internal Hash. We should not be exposing the raw internal Hash. Instead we simply want do define interfaces to that Hash in a controlled way. That way in the scenario where lets say we change the internal data structure from a hash to an Array or something completely different. We only have to worry about the interface and the things using it. We don't have to worry about the interface of the exposed Hash as well.