Thanks, it should be possible to relax the type hints on store() to make the QueryCacher more broadly useful. I don't know how a trait would help with reuse more than object based composition would though.