We should be more tolerant when deserialization metadata. This can be a problem for application metadata, which can be added to events. One service might add it for service internal purposes, but then it's exposed (and fails) in other consumer services because they don't have the class.
Perhaps we can't make it completely optional, because some metadata might be critical and should still result in failures if it can't be deserialized?