refactored from explicit factories to auto-generated autofac Func<> factories