What about making this and `__is_deferred` a `@staticmethod`, and then passing in a query? Then it could potentially be a bit more generic. I don't expect either to be used outside this class, but neither really needs to know about `self`. They only care about `query`.

Thoughts?