There is no problem to move Source plugins into ~Core().
But mSinks in Core contains list of AbstractSink* not AbstractSinkManager*. 
Plugin loader loads AbstractSinkManager* from plugins which is not accessible from Core, nobody takes care of AbstractSinkManager*.
AbstractSink* is created in AbstractSinkManager constructor and then AbstractSink* registers itself in Core.