I see... 

Regarding the links, this si something I want to support but currently I have no idea about how to do it correctly. I agree with you that the payload can contain data that does not belong to the entity. I have honestly no idea about how to solve it elegantly. What I don't want is asking the user to create a LOT of different objects; Most of the time people will already have to create  one input filter + one hydrator per object. If we force them to create one more object per entity, it's gonna be horrible.

But if you have a nice idea that map into the workflow, I'M IN !!