public OrderSynchronizer(PrimaryStrategy strategy) { Timeout = 1000; _currentOrder = null; IsAnyOrdersInWork = false; _isOrderRegistering = false; _isOrderCanceling = false; _strategy = strategy; _strategy.WhenStopping() .Or(_strategy.WhenStopped()) .Do(s => { _strategy.AddWarningLog($"trying to stop {_strategy.Name}: {_strategy.ProcessState}"); _eventWaiter.Set(); }) .Apply(_strategy); }