Is it really useful ? It's a Factory, it's kind of tightly bound to the service it builds, is it not ? You can't get the class name from the service's parameter, can you ? :)