[model] Add Vertex class
[vertex] Make it templated