Tempted to add an `EnricherInternal` and `PolicyInternal` for this kind of thing (which is for the framework to use, rather than for folk to call directly). However, policies/enrichers don't use interfaces + dynamic proxies like entities, so a big benefit of the internal interface is missing - that it's hidden from users.