thanks for the post dhewitt.

i think i get it... i guess the down side is the the it would not be a traditional "factory" interface...e.g.

interface IFactory
{
IFoo getFoo();
IBar getBar();
}

-------

insead it would be something like:

interface IFactory
{
ServiceInfo getFoo();
ServiceInfo getBar();
}

Where ServiceInfo is passed by value and contains servicename and service interface class.

The rest is pretty clear...
------------