Js-ipns help - publish custom payload to Ipfs

I’m building an application that lets user sign an IPNS payload using their metamask.
So far I have modified the js-ipns repo to create a custom payload signed by the user’s metamask.

My question is; how do I publish this payload to IPFS?

Assuming I’m running the js-ipfs module in the browser; is there an easy way to publish a custom signed entry?

Also doe someone know why the IPNS entry records require 2 digital signatures?

Any help would be much appreciated.