When drawing connection lines (edge) between nodes, the lines will be drawn over the nodes (due to the drawing sequence). If having many connections, it may problematically cover the nodes, and particularly the text therein. A very basic example is
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[fill=blue,circle,text width=3cm] (first) at (1,1) {First};
\node[fill=green,circle,text width=3cm] (second) at (5,5) {This is the text that will be cover with the connection lines};
\node[fill=purple,circle,text width=3cm] (third) at (1,9) {This text will be covered too};
\draw[->,thick,draw=red!50] (first.east) to [out=0,in=0] (third.east);
\draw[->,thick,draw=red!50] (first.west) to [out=180,in=75] (third.north east);
\end{tikzpicture}
\end{document}

Ideal Solution: Turning the connection lines around the node. In fact, the node area should be a forbidden zone for lines.
Practical Solution: Passing the lines under the nodes. At least lines will not affect readability of the text.
How to implement one of these solutions to avoid lines over nodes?

