Может быть, вы можете использовать такой инструмент, как Structuremap для этого? Это на самом деле не предназначено для таких вещей (это DI-контейнер), но будет работать хорошо, если вы укажете некоторые элементы как одиночные, некоторые элементы по запросу и т. Д. Это зависит только от того, насколько гранулярным вы хотите, чтобы управление жизненным циклом было .