extends KindedMessage from Serializable for convenience