SO, we have "identification", which is a symbol, and a "name", which is a string. But the variables have "name" in them and "identification" in the comment?

Not to mention that "cached" meaning "new" sounds wrong to me.