Checkpoint: Text centered in node, ugly paths are drawn. Code reuse is hideous...