I want to delete a value from a Map when the Maps value no longer has any references. I have designed this class and would like to know if this is the correct way?