We need to synchronize on context here because addOnCompleteCallback is not thread safe.