improve ability to mock loading with includes

It is difficult to mock ILoaderWithInclude because it has methods with concrete type MultiLoaderWithInclude that has an internal constructor.  Updating to use the interface allows for unit testing with mocks.