I would recommend switching from constructor args to property injection in your classes for this purpose, but what you want to do is possible, it’s just a bit more work. You have two possible ways to do this. The first one is to put some metadata in the classes WireBox is creating to instruct WireBox what to pass into the constructor when building the instance.