@reset in fact, we probably shouldn't be exposing the loaded cookbooks at all, right? I'm not using `CachedCookbook:: loaded` anywhere right now, so the only interface should probably be `from_store_path`.

And as long as the internal implementation is thread-safe, it would allow us to make it asynchronous again with minimal effort. Though in my brief tests, Celluloid didn't help performance in a measurable way. I suppose the overhead of threads outweighs the small gain you get in concurrency here.