I'm not sure that the listener is an important part of the hashCode. Maybe it's just the node here and in #equals?