Broaden the usage of Context to hold the information about what holds the plugin

Make PluginLoader abstract