'Register and configure  a plugin for use in this stream.
:param plugin: The name of the plugin class. Plugin names must
be unique.
:param pconfig: A dictionary of configuration data for the plugin.
Defaults to an empty dictionary.
:param module: Optional refence to the module containing the plugin
class if using custom plugins.'

def register_plugin(self, plugin, pconfig=None, module=None):

    if (not pconfig):
        pconfig = self.plugin_config.get(plugin, {})
    if (not self.plugin.registered(plugin)):
        load_plugin(plugin, module)
    self.plugin.enable(plugin, pconfig)
