Adding ModuleProcessor base class to support additional module level processing