The refactoring consists of:
1) creating d-pointer, so header files are lighter,
2) renaming KMyMoneyPlugin::storagePlugin to KMyMoneyPlugin::SQLStorageExtension as purpose of this plugin type is to create a table in SQL database,
3) changing kmm_payeeidentifier_loader from STATIC to SHARED, as it was used in multiple places and linked only in one, which is not good if class is considered singleton,
4) changing build dependencies, so there is less redundant linking of libraries.
I hope, that in effect of this refactoring multiple definitions of payeeIdentifierLoader::createPayeeIdentifierFromSqlDatabase will be fixed on MSVC.