compacted VerticesStep and EdgesStep into a GraphStep with a Class<E extends Element> returnClass parameter. Makes lots of things simpler -- e.g. one less class for vendors to implement and only one optimizer required.