Yeah, I agree about the change where initialization occurs on the first request.

I agree that app.set('mojito store') is probably better.

As far as search middleware boot-up, remember that they are in control app.js which means that they can load there middleware however they want. (They don't necessarily need to let mojito do it.) Hmmm... the issue with what I'm describing is that we do want sugar for mojito to register the middleware that it knows about (the middleware that the RS found). If they wanted to instantiate (with stuff like midConfig) middleware by hand (not using mojito's sugar) then they still need to find out the list of middleware that mojito knows about, but this is just a RS.getResourceVersions() call so shouldn't be too hard.