This is the only substantial thing I'm still skeptical about. Why make it an instance var rather than just instantiating it each time, from the code that needs it? The more local you keep things, the less you have to wonder "Hmm, is somebody depending on this?" when you want to change things. (Obviously, there's a tension between that and designing for subclassing, but I don't think you're doing that here. Correct me if I'm wrong.)