color undirected edges red
refactor within the .dot output
create submodules
add Output annotation

Generally speaking, if a type is used as an input to a method, it's
treated as an input. But if it's annotated with @Output, it's treated as
an output instead.