redesigned plugins api - removed FunctionDefinition interface, added @ExecuteMethod to annotated execute methods that takes any interface param