fe3f7feae4
- Event-based session invalidation requires knowledge about the dependents of a `KtModule`. This is because, when the session for a module is invalidated, all sessions for modules which depend on that module, directly or indirectly, must also be invalidated. - Note that the approach with modification trackers relied on module dependencies. Events have an opposite flow of information compared to modification trackers: Modification trackers request whether a change occurred, while events publish that a change occurred. Thus, the modules which need to be incorporated into the invalidation dynamic are also flipped: dependents instead of dependencies. - `KotlinModuleDependentsProvider` is designed to work generally. It can be used for purposes beyond session invalidation.