Changed all non-member functions to use the impl() method to access the underlying graph rather than implementing member function variants of all the required graph methods