All actors will be expected to have a position, so we can use it as an abstract class to compare relative positions between any actors.
OK, think i'm on the right track to resolve actor movements - each actor will know its connections and the desired distance of that connection, and so can resolve its restoration force with each connected actor to give its current acceleration. I can use the resulting acceleration to re-activate sleeping actors as necessary, though that doesn't save the iteration over connections - better would be an interface that allows actors with large accelerations to wake their neighbours (that may be any single large acceleration being applied to the actor, or just the resulting force - that'll be something to test).