Big refactoring: ClinicalJobContext is now interface and injected where needed