Moved the definition of the graph abstract class to a dedicated module graph_interface and changed the graphs module to a meta-module including interface and all graph types