sadt: try to fix the caching functionality of check_depends()
before there was nothing setting self._check_depends_cache after the original value, so that codepath most likely has never run.
tbh I'm not sure of what I'm doing, but it looks much more sensible now....