public void OnStockMarketDataReceived(StockMarketDataPoint data)
 {
     if (StockMarketDataReceived != null)
     {
         StockMarketDataReceived(this, new StockMarketDataReceivedEventArgs(data));
     }
 }
 public StockMarketDataReceivedEventArgs(StockMarketDataPoint data)
 {
     this.NewDataPoint = data;
 }
 private void OnTimerTick(object sender, EventArgs e)
 {
     // generate new StockMarketData using StockMarketGenerator
     _lastDataPoint = StockMarketGenerator.GenerateDataPoint(_lastDataPoint);
     OnStockMarketDataReceived(_lastDataPoint);
 }