A neat directed graph interface implementation