These changes do not break the compatibility with the C# node response.
It is useful for the end-user to be aware of the failed validation reason.
Also, the `cause` will be displayed at the running node log.
Mostly as is, no real effort done yet to optimize them, so there are still a
lot of duplicates there, but at least we sort them out into different smaller
packages.