splitting some modules into new handlers packagae
modules as an abstract base instead of interface
more refactoring for modules and handlers
diff tweaks pulled into individual features
refactoring more modules