This has sat a very long time in my head. The wish to do a new payment protocol that massively surpasses the usability of all those that have come before.
The main realization is based on the fact that the best way to describe the details of the resulting transaction is not a long list of fields, but to include the actual transaction.
See, a transaction is well documented and is short and basically every piece of software that would deal with this stuff also has to deal with parsing of transactions. So it makes sense to just use that format.
The best part of using the transaction format is that additions like p2s and tokens are completely irrelevant and just work.
So, most of the things I wanted to put in a payment protocol now in a CHIP:
Enjoy