Instead of modifying a hash, accessed through a reader method, this should just change state in the local object.  It presently does that indirectly, which is quite confusing.  I had to read through several times to figure out what was actually being changed.