A generic chain-sync message for either header or block content
A trait to deal with polymorphic payloads in the ChainSync protocol (WrappedHeader vs BlockBody)
An observer of chain-sync events sent by the state-machine