It feels like the need for all of these slightly different function could be taken away if we consistently handle a message with the same `identifier` property.