The problem with a BPP that processes FunctionRegistration is that they might not be instantiated before the FunctionRegistry. It is better to enforce the dependency order we need by injecting the registrations explicitly but lazily into the registry.