Sierra's Component README illustrates factory functions that take a complete static configuration at once, followed up by injections. But, really, it's none of Component's concern how you work a Lifecycle thing into shape for Component to assoc the injections and start it.
In Schematic, sc/create-fn takes a single map as a parameter, but I didn't see the README stating what's in the map. It seems to me that Schematic would be free to include all static configuration (i.e., everything except other Lifecycle things), or to provide an empty map and assoc the static elements piecemeal along with other Lifecycle things, or anything in between.
The question came to mind because I sometimes wonder where it was intended that Components validate their configuration. Of course, it hinges on how the wiring-up is done. If you code it yourself, you can use the factory function (and refrain from assoc), so the factory function can check parameters, which is nice because the resulting Exception does not tie up your Emacs with 100 gigabytes of Component fallout. On the other hand, if you must code for the general case, you validate stuff only in the start method.
What do you recommend?