[eluser]esra[/eluser]
There are no CI-related docs, but Neophyte's Khaos Event Manager allows modules to trigger events which are associated with plugins (not plugins in the CI sense, but Khaos plugins). The Event Manager basically mimics the Joomla plugin API, so it essentially adds a more powerful plugin interface to CI. I found the Joomla API and plugin docs to be helpful to an extent. Thus if you have a lot of functions to use among many controllers, you could have your controllers trigger events which are observed by Event Manager (the Observer pattern). Event Manager, in turn, executes the plugin code associated with the event.
I've been doing a lot of experiments with the above and am attempting to write some docs to use Event Manager in conjunction with CI, Matchbox and Modular Extensions. The Event Manager is actually more powerful than the description on the support thread suggests, since it's possible to have different flavors of plugins (i.e., plugin abstraction based on the type of event). For example, multiple authentication plugins, multiple area text editors, etc. Various plugins could then be enabled using config options. More about this later.
The obvious advantage of using this approach is that you can design modules (MVC triads) which are loosely coupled to an application, allowing the modules and any associated plugins to be installed and uninstalled independently without breaking an application.
----------------
Regarding XML-RPC, it can become very useful on a single server if you wanted to create a single Admin console for administrating multiple sites (e.g., a domain with many subdomains). The ability to administrate sites on remote webservers is a added bonus.