More dynamic messages, equals/hashcode in game item & class