I don't like this part at all. Just extend `PublicMessage` and forget to introduce the corresponding entry here and it would fail.