There's no apparent need for it to be using field injection any more (we can inject optional dependencies into the constructor using ObjectProvider), so let's try and switch to constructor injection.