Func instance parms

It lets you give instances custom "keyvalues" that can change IO, keyvalues, or possibly flags.

To use this with flags, you must manually add the keyvalue in the entity and set it to.