Refractored classes and package.json. Needs batch/schedulable adjustment