In the last entry we created a service container that could construct a hierarchy of singleton services from configuration, which could pass services as objects, lists or dictionaries as constructor parameters to other services. This time we'll refactor the code to allow arbitrary types of argument to be constructed without having to modify the service container. To achieve the ability to add new...