Switch to using GCD plus some refactoring in GenericLoopingEvidenceSource