Plain and simple, what is the use case of the Orchard.Environment.Work<> class defined in Orchard\Environment\WorkContextModule.cs?
It can be found in several places like
private readonly Work<IContainerService> _containerService;
public Shapes(Work<IContainerService> containerService) {
_containerService = containerService;
...
Is it for delayed resolution of IContainerService?