Rewrote to use mode properly the NodeVisitor's functionality

    See: http://greentreesnakes.readthedocs.org/en/latest/manipulating.html