composite design pattern
generic fix
distinct mutable
graphviz infracstructure, tostring function
composite pattern painter