Hi Mark, My experience with creating a contribution was overall positive. I did encounter a few of issues that I had to work around: 1) meecrowave.properties and CLI binding - I have several options classes that I registered as Cli.Options service loader extensions and I was able to obtain the commandline provided values without a problem. However additionally I wanted to bind meecrowave.properties values to the same options instance so I could access both the CLI values and configured values. From what I can tell the CLI values and properties are mutually exclusive, i.e. one can't override a properties file set value with a CLI value like in most apps. In any event when I tried to include my extension options in meecrowave.properties they were never available either before or after meecrowave started. I ended up creating a separate properties file and manually loading it using builder.setProperties(myProperties) and then builder.getExtension(CliExtOptions.class); 2) Add support of interfaces for extensions - I have several plugable interfaces I am using and it would have been nice to be able to register extensions instead of the extension automatically being instantiated. For example builder.addExtension(MyInterface.class,MyImplObject) and builder.getExtension(MyInterface.class) != null? .... Right now a reference to the concrete implementation class always needs to be retained to lookup an extension. 3) CDI support for objects instantiated in the extention - This was by far my biggest headache and I spent a couple of hours trying to get this to work. Basically I wanted to create a single instance of my OAuthClient that was configured via properties and have that be injectable into the running application. I wanted a configuration exactly like OWBAutoSetup,java that registers Meecrowave and it's builder as being injectable. I tried multiple attempts of adding a Tomcat listener to call the WebBeansContext.getInstance() in the right classloader with the same beanManager.addInternalBean logic but my listener was always called too late. This is where my request to allow extensions to add servletcontextlisteners originated from.