public StocksTickerPresenter(
            IStocksTickerView view,
            IStockQuoteService stockQuoteService)
        {
            this.view = view;
            this.stockQuoteService = stockQuoteService;

            this.view.Subscribe += this.OnSubscribe;
            this.view.Unsubscribe += this.OnUnsubscribe;
            this.view.RefreshEnabledChanged += this.OnRefreshEnabledChanged;

            this.refreshTimer = new System.Timers.Timer();
            this.refreshTimer.AutoReset = false;
            this.refreshTimer.Elapsed += this.OnRefreshTimerElapsed;

            this.RefreshInterval = 5;   // default refresh interval

            this.logger = new NullLogger();
        }
        public StocksTickerPresenter(
            IStocksTickerView view,
            IStockQuoteService stockQuoteService)
        {
            this.view = view;
            this.stockQuoteService = stockQuoteService;

            this.view.Subscribe             += this.OnSubscribe;
            this.view.Unsubscribe           += this.OnUnsubscribe;
            this.view.RefreshEnabledChanged += this.OnRefreshEnabledChanged;

            this.refreshTimer           = new System.Timers.Timer();
            this.refreshTimer.AutoReset = false;
            this.refreshTimer.Elapsed  += this.OnRefreshTimerElapsed;

            this.RefreshInterval = 5;   // default refresh interval

            this.logger = new NullLogger();
        }