Well, you can't exactly see the top level of my implementation..

At the top, while we're still working with an std::string, I do a file extension check to decide which loader function we will use..

then according to what the file extension is == to we pick the proper loader function and let it fly from there...