Fancy networks

See docs/networks.md for details.

Unit tests pass, but I should write some more unit tests to test the expanded functionality before we merge this.
`Belong` has suddenly beecome  a very murky term -- be more clear about what you mean here.