Still, knowing who consumes a class doesn't mean we should expose more than we need to. I don't see why we need to provide the entire map. Can you give an example of where the whole map is required and the provided interface isn't sufficient?