To formalize the concepts proposed in #3, we should have a "connection" concept, where an item provided by one module can be directly connected to an item reference on another module. Connections are persistent across restarts, and will involve the transfer of kind and datatype information at connection establishment. Connections should fail if kind or datatypes do not match exactly.
Implemented in v0.2