Refractor to use google guice configuration framework, implement module concept, add shell framework