Following external sources need to be replicated:


Streams:
1.
SingleVolSurfaceTimeSource: 
publishes:     mbts.analytics.VolSurfaceStandardTime
source:        AccessVolSurfaceTimeStream

2.
SingleVolSurfaceGateway
publishes:     VolSurfaceInput
source:        VolSurfaceInputStream

publishes:     List<VolSurfaceInputSnapshot>
source:        VolSurfaceInputSnapshotListStream

3. 

MarketData:

Tag: OptionDriverBBOTag (keyed on option_symbol)
Value: OptionDriverPriceMap which is a wrapper around
IDictionary<SecurityExpiration, Tuple<Security, VolSurfaceBBOUnit>>

----------------------------------------------------------------
SingleVolSurfaceInterpGreeksPublisher (for one vs) listens to all inputs and publishes
IDictionary<VolSurfaceExpiration, IEnumerable<Theos>>

VolSurfaceInterpGreeksMultiplexer (for multiple option symbols) listens to all vol 
surfaces, resolves symbols and for each option_symbol publishes 
OptionTheoInterpolationData*

SymbolAggregationPublisher is a thin generic class that combines individual symbol data and
publishes symbol vs data map

LiveTheoPublisher:
for all symbols in SystemContractData, listens to :
OptionTheoInterpolationData
OptionDriverPriceMap
Then for each strike, c/p interpolates the greeks and publishes a sec_id vs GreeksTuple
