Personally I think defining all connection types and positions is 'old fashioned' (although still desirable). It might be more interesting to research needed meta data for implementing a physics engine approach, which could (potentially) do the same and more.
That's a personal dream though
That's a personal dream though