Re: multiline blocks with results, according to [github's guide](https://github.com/styleguide/ruby)

> Some will argue that multiline chaining would look OK with the use of {...}, but they should ask themselves - is this code really readable and can't the block's contents be extracted into nifty methods?

Could have two methods, `cache_find` and `find` (or `cached_find_including_script_and_level` and `find_including_script_and_level`) and have the former cache the in/out of the latter.

What is the `id` here? Is that the ScriptLevel id? Is ScriptLevel.find() inside not sufficient because it also needs to include level and script? If so, maybe encode that contract in the method names