HI! I'm running local backtests on multiple securities.

I've read about Importing Custom Data, but I think it doesn't solve my problem.

When you calling ‘AddSecurity()’ method it creates main data subscription. And this data is not found.

As I understand, when you calling ‘AddData<YouCustomDataName>()’, it creates additional subscription for this data and you get them in ‘void OnData(YouCustomDataName data)’ method which is mapped by reflection.

Main problem of this approach is that Security state (OHLC + Price, Volume) doesn't get updated with this custom data, because ‘Security.Update()’ method is not called. I can call it manually in my YouCustomDataName class, in Reader() method, but I think it's a hack and this can break backtest internal state =(

My main goal is to write my custom data source logic and use it as main data source for my backtest. 
Can you help me with this problem? Should I implement some interfaces and change config properties?

Additional question: 

If my data source has missing dates in history (weekend and holidays) how I should handle this? Will It brake backtest's time continuity?
Should I use FillForward option? If so, how to use FillForward? I couldn't find documentation about this functionality.