Separated data into NodeData struct so Node can be more utilitarian.
Added Node.setId() and Node.getId() and test.