Issue description
Current situation
At the moment, you add a plugin in the request flow by referencing with its name and setting the configuration. The plugin is effectively a singleton.
This approach has some downsides:
Proposal
In Object-Oriented speak, make Plugin a class and introduce PluginInstance "objects" (or something similarly named):
Plugin defines the code
PluginInstance references the Plugin and associates it with a priority and a configuration
Decoupling the code from the configuration/priority would bring much more freedom for users.
Issue description
Current situation
At the moment, you add a plugin in the request flow by referencing with its name and setting the configuration. The plugin is effectively a singleton.
This approach has some downsides:
Proposal
In Object-Oriented speak, make
Plugina class and introducePluginInstance"objects" (or something similarly named):Plugindefines the codePluginInstancereferences thePluginand associates it with a priority and a configurationDecoupling the code from the configuration/priority would bring much more freedom for users.