I'm drawing a tikzpicture and trying to make it flexible. There is a group of symbols that I want to be able to move around while maintaining their relative positions. So far I've tried concatenating commands inside one \draw' and using+(x,y)' coordinates to keep things relative. In the following diagram I want to be able to move what's inside the circle around as a group.

I've made some progress but a side effect of the way I've done it is that I can't get this thing to include arrows on the ends of the lines between my S nodes. If I type `->' instead of '--' for example, it just ignores it. I'm drowning in the manual as usual. Perhaps there is a better approach altogether that I'm missing. Any tips that might help?
MWE
\documentclass[border=6mm]{standalone}
\usepackage{tikz}
\begin{document}
%
\begin{tikzpicture}[>=latex]
\draw (1.5,1.5) circle (1.5cm);
\draw (0.5,1.8) node {$S_1$}
+(2,0) node {$S_2$}
+(1,-1) node {$S_3$}
+(0.4,0) -- +(1.6,0)
+(1.8,-0.20) -- +(1.2,-0.8)
+(0.2,-0.2) -- +(0.8,-0.8);
\end{tikzpicture}
%
\end{document}
Another type of element that I can't figure out how to get arrows on inside a group is an arc. This is shown in the following picture. I know how to do this with the arcs as separate elements but I can't make it work inside the group.

Extra MWE
\documentclass[border=6mm]{standalone}
\usepackage{tikz}
\begin{document}
%
\begin{tikzpicture}[>=latex]
\draw (1.5,1.5) circle (2.0cm);
\draw (0.5,1.8) node {$S_1$}
+(2,0) node {$S_2$}
+(1,-1) node {$S_3$}
+(0.4,0) edge[<->] +(1.6,0)
+(1.8,-0.20) edge[<->] +(1.2,-0.8)
+(0.2,-0.2) edge[<->] +(0.8,-0.8);
\draw[<->] (0.5,2.05) arc (0:270:0.3cm);
\draw[<->] (2.8,1.75) arc (-90:180:0.3cm);
\draw[<->] (1.3,0.65) arc (-225:45:0.3cm);
\end{tikzpicture}
%
\end{document}





