I didn't want to expose the whole hashmap since then we have to worry about making it immutable or making a copy and what not. it also exposes too much of the object which I don't think is necessary. Someone using the class shouldn't have to care what the underlying representation is nor do they want it. Just my 2c.