Added a job factory, and an interface for it. This will allow users to construct job classes however they please. E.g: inject service containers, or make jobs services etc