...
Direct references to other modules, for example LocalRegion.notifyGatewaySender, should be turned into callbacks that other modules plug into the Region interface. Those callbacks should be tested within the region module.
This is still the big ball of string that needs to get untangled further. We need to split out expiration, eviction, conflict detection, GII, transactions. There's also the question of what package owns RegionEntry and EntryEvent, because those objects are passed everywhere.
WAN
Package: internal.cache.wan
...