Notes from yched's speech at the Paris core code spring 2012/04/28-29. Use with caution after 2012/05, fast moving code:
-  A “Plugin Type” is a class. 
-  The list of existing plugins of a plugin type is enumerated using a Discovery class 
-  PluginTypeFactory implements FactoryInterface 
-  PluginTypeDiscovery implements DiscoveryInterface 
-  PluginTypeMapper implements MapperInterface 
-  DiscoveryInterface::getDefinition($plugin_id = 'textarea') 
-  DiscoveryInterface::getDefinitions() 
-  ?::createPluginInstance() 
-  ?::getPluginInstance(array $options = array())  ← think service locator 
-  $plugin→set(….) 
Code under development in EclipseGC's sandbox at http://drupal.org/node/1441840 branch: plugins-next