IB/TWS is no different than any other plugin. RightEdge tries to get services based on what the user has defined. There is no affinity for one provider or another.
I'm looking into coding a data provider plugin for RE to interface with my TikFactory/Nanex data provider classes. supporting the interfaces looks fairly straightforward.
Simple question though: if I develop a data provider plugin, is it going to be able to live nicely with the TWS plugin; or is TWS always going to want to provide the data if it is connected?