Remove getGraph() from public interface
Avoid unnecessary edge lookups and use VerticesMap for performance
Rename concrete result implementation
Use an interface instead of an abstract class for Base