implementation of the Observer Pattern has been changed. it is first version: single, not polymorphic MarketData class and observers subscribing to it via event specification