anchor.diff:  
   * They have access to the database so as to maintain their own state. However they **should not interract with the Kill Bill core tables directly** but rely on apis to retrieve and change,
   * They have access to system properties
  -* They have the ability to export their own endpoints under a `/plugin/<pluginName>`
  +* They have the ability to export their own endpoints under a `/plugins/<pluginName>` (see https://github.com/killbill/killbill-hello-world-java-plugin/blob/master/src/main/java/org/killbill/billing/plugin/helloworld/HelloWorldActivator.java#L37[Hello World plugin]
   * They receive all the events in the system
   * They are isolated from the rest of the code and can use their own library (versions) without risk of conflict
   
  
positive.code: 
  The next stage is to identify existing (similar) plugins which could be used as a starting point to write the code. At this point, this becomes a normal software development cycle, including writing unit tests for that plugin (independent of Kill Bill).
  
  TODO: Provide detailed instructions based on the hello-world plugin (email from Guisepe). Need to fix hello-workd first.
  
  
  = Development
  
  
  
negative.code: 
  == Java Plugins
  
  === Prerequisites
  
  Java versions 6+ are supported.
  
  === Build
  
  `java` plugins rely on the http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html[`maven-bundle-plugin`] to produce the correct OSGI plugin (with the correct `MANIFEST.MF`). It is recommened to start from a plugin that already works, as the build configuration can be quite tricky. A good example is to look at the `pom.xml` from the https://github.com/killbill/killbill-hello-world-java-plugin/blob/master/pom.xml[hello world plugin]
  
  The build will produce a `jar` under the `target` directory and this should contain all the classes and configuration files directly accessible for that plugin. OSGI also provides a way to import classes that are exported by other plugins and this is configured in the `Import-Package` section of the `maven-bundle-plugin`. The hello world plugin provides some default based on the https://github.com/killbill/killbill-platform/blob/killbill-platform-0.22/osgi/src/main/java/org/killbill/billing/osgi/config/OSGIConfig.java#L49[classes exported by the system bundle in Kill Bill]. Note that Kill Bill offers a system property, `org.killbill.osgi.system.bundle.export.packages.extra`, to add additional packages exported and that could in turn be imported by the plugin. 
  
  
  == Ruby Plugins
  
  