This requires message to be comparable. Only fire events when the new message is different to the last one
This requires message to be comparable. Only fire events when the new message is different to the last one