Change InvocationPlugin to be a "normal" class

Plugins only have to override the methods they are interested in.