Abstract VectorDataSet that allows for defining a vector dataset by implementing a minimal portion of the api.