Extract new ReadablePayloadInterface
and WritablePayloadInterface
from
PayloadInterface
, then compose PayloadInterface
from them. Existing
implementions of PayloadInterface
should continue to work, making this a
backwards-compatible change.