public void StartPulsing()
        {
            lock (_pulsingStateLock)
            {
                if (PulsingState != PulsingState.Open)
                {
                    _timer = new Timer(UpdateStockPrices, null, _updateInterval, _updateInterval);

                    PulsingState = PulsingState.Open;

                    BroadcastPulsingStateChange(PulsingState.Open);
                }
            }
        }
        private void BroadcastPulsingStateChange(PulsingState marketState)
        {
            switch (marketState)
            {
            case PulsingState.Open:
                Clients.All.startPulsing();
                break;

            case PulsingState.Closed:
                Clients.All.stopPulsing();
                break;

            default:
                break;
            }
        }
        public void StopPulsing()
        {
            lock (_pulsingStateLock)
            {
                if (PulsingState == PulsingState.Open)
                {
                    if (_timer != null)
                    {
                        _timer.Dispose();
                    }

                    PulsingState = PulsingState.Closed;

                    BroadcastPulsingStateChange(PulsingState.Closed);
                }
            }
        }