Generate a plugin-interface, based on an enum definition for its’ operations
From the plugin’s perspective - input types are all fields except the last one, and the output type is the last one
(of course - you can use tuples to output multiple values).