Moved element steps from Vertex to Element, adding a type parameter to distinguish between vertices and edges