Fix potential deadlock

OutcomeManager has been refactored to avoid the potential deadlock that could occur when multiple outcomes were firing at the same time