(TWILL-107) Payloads for discoverables

This adds the ability to have payloads for ``Discoverable``s. 
Why need to wrap? The `PayloadDiscoverable` is already a `Discoverable`.