code: function load() {
    if (!loaded) {
      var addons = [], skipped = [];
  
      // load addon modules
      api.require.forEach(['socketstream-*','socketstream.*'],function(mod,id) {
        if (typeof mod === 'function') {
          try {
            mod(api);
            addons.push(id);
          } catch(ex) {
            debug('Failed to load '+id+'. ',ex);
          }
        } else {
          skipped.push(id);
        }
      });
      debug('Addons: '+
        addons.length? addons.join(' + ') + ' Loaded. ':' None. '+
        skipped.length? skipped.join(' + ') + ' Skipped. ':'');
  
      // load assets in cache
      http.load();
  
      // Load Client Asset Manager
      client.load();
  
      // Load internal and project responders
      api.server.responders = exports.responders.load();
  
      api.server.eventTransport = publish.transport.load();
  
      // Extend the internal API with a publish object you can call from your own server-side code
      api.publish = publish.api(api.server.eventTransport);
  
      // Bind responders to websocket
      ws.load(api.server.responders, api.server.eventTransport);
  
      debug('API loaded.');
    }
    loaded = true;
  }
docs: TODO reload function that replaces API with virgin one. TODO server/client API tracker in RPC