added WorkloadOperation and moved all operations to it as static methods
refactor Generator and Workload code to be more extensible (in progress)
moved new Generator and Workload code to core package