diagrams: create path details builder and path details in cpp

- clean up model and add some more class details