Please note that this won't work for other people unless the object has the right permissions that allow pulling the specular keys off it. I think it has to be transferrable and modifiable, but someone check me on that.
I ran into this exact same issue and ended up having to store the specular keys in a list in the receiver object.