I developed this library because I realized that I am setting a few settings to be the default in my framework. However, I realized that I can also reuse the components I write in other places and other frameworks for example the ViewServlet by default uses /*.jsp as the default dispatcher but I think if I want to create a new framework I just replace the Configuration implementation with something that uses /*.html as the default dispatcher.
This logic goes for other things like replacing the cache implementation with something more performant but memory intensive or slower but will work on smaller devices. The people who use the components I have can pick and choose which ones they want to assemble into their own framework without having to change any of the core implementations.
Eventually Twiff will become a whole slew of small sub projects that implement things in an interfaces project. It will also have a reference assembly that shows how things would be packaged into a complete presentation framework from a set of components plus a series of sample applications. PicoServlet becomes the glue that binds them all together.
When Twiff becomes a full enterprise framework it will contain other wrappers similar to PicoServlet and things can get pluged into it. Other service interfaces and implementations for Integrated Case Management, Contact Management, Financials Management, Workflow could be assembled and form into complete applications suitable for small to medium sized enterprises. ISVs can use the same framework and create their own component implementations and plug it into the big framework.