Adam's Autofac implementation