Separated job initialisation into its own function to make it easier to override