Add ability to specify color of each node
Allow optional nodes. Clean up the edge drawing code