Why not just create the fields in the event when the trap is received? Would save you any extra 'kv' stuff as well as allowing you to more easily set up the event data during input.