initialize
Initializes the plugin by using the supplied modules to fulfill the required dependencies.
Return
reference to the plugin.
Parameters
modules
the modules that should be used to initialize this plugin.
Throws
if the plugin has been initialized already.