====== Callbacks ====== twisted invoces callbacks just by invocing the function of the class implementing the Protocol (i.e. ''IRCClient''). we need to run a lot of plugins, so our structure is a bit more complicated. we implement the twisted-callbacks, and run _apirunner("callback", {'argument': argument}). _apirunner looks into ''self.callbacks'', which is a dict {'callback': [(plugininstance, priority)]} the list [(plugin, priority)] is sorted by priority, so the most important callbacks (rarely used, but needed i.e for ''ircServer'') are executed first. the pluginSupport.callback list is filled on ''startPlugin'' with all plugin-functions, which have is_callback set. use ''pluginSupport.decorators.callback'' to set this statically. if you need to register callbacks dynamic, pluginSupport has ''registerCallback'' and ''unregisterCallback''.