code: function NodeRAMStore(self) {
    /**
     * Details of this [node]{@link Node}. For use by the node API, not when in
     * use as a registry.
     * @type {Node}
     * @readonly
     */
    this.self = self;
    /**
     * Map of nodes avaiable at this registry. Keys are UUIDs.
     * @type {Object.<string, Node>}
     * @readonly
     */
    this.nodes = {};
    /**
     * Map of devices available at this [node]{@link Node} or registry. Keys are UUIDs.
     * @type {Object.<string, Device>}
     * @readonly
     */
    this.devices = {};
    /**
     * Map of sources available at this [node]{@link Node} or registry. Keys are UUIDs.
     * @type {Object.<string, Source>}
     * @readonly
     */
    this.sources = {};
    /**
     * Map of flows associated with this [node]{@link Node} or registry. Keys are UUIDs.
     * @type {Object.<string, Flow>}
     * @readonly
     */
    this.flows = {};
    /**
     * Map of senders associated with this [node]{@link Node} or registry. Keys are UUIDs.
     * @type {Object.<string, Sender>}
     * @readonly
     */
    this.senders = {};
    /**
     * Map of receivers associated with this [node]{@link Node} or registry. Keys are UUIDs.
     * @type {Object.<string, Receiver>}
     * @readonly
     */
    this.receivers = {};
    if (arguments.length === 0 || this.self.valid())
      return immutable(this, { prototype : NodeRAMStore.prototype });
    else
      return new Error("Cannot set an invalid node as the node for this store.");
  }
docs: In RAM store representing the state of a [node]{@link Node} or regstry.
  Immutable value.
  @constructor
  @implements {NodeStore}
  @param {Node} self Node this store is to represent.
  @return {(NodeRAMStore|Error)} New node RAM store or an error.