Revert #588 because of being not protocol-agnostic, sorry.
Merge pull request #601 from aesedepece/revert-588

Revert #588 because of being not protocol-agnostic, sorry.