В общем, все вроде работает, если к примеру один из модулей не загрузили, а другой зависит от него, то при вызове GetPlugin получишь nullptr, а потом даже если ты забыл сделать проверку на nullptr, то когда ты вернешь поток обратно на приложение, то оно увидит что у тебя там ты запрашивал плагин, а получил nullptr и завершит работу приложение с логом