some simplification as well as renamed the module to prevent shadowing from argument names
first pass at a skeleton pubisher module and class
updates to accomodate previous commits