I meant that we should not remove 'GetInstance()' (seems my comment was confusing - sorry!) we should keep 
GetInstance(Manifest::PackageType) as this looks most convenient for the clients, what I mean t is that getter like 'GetInstanceForWGT' should be used inside 'GetInstance', and they can even be private