More work.

- Initial stab at the networking part of this... will probably change
completely by the time this is done.
- Some IImmutableList return values are now ImmutableList.