Synchronized methods on IndexJobManger to avoid check-then-act
Extracted initilization ProjectIndexJob to avoid an escaped this reference