code: function Spark(primus, headers, address, query, id, request, socket) {
    this.fuse();
  
    var writable = this.writable
      , spark = this
      , idgen = primus.options.idGenerator;
  
    query = query || {};
    id = idgen ? idgen() : (id || nanoid());
    headers = headers || {};
    address = address || {};
    request = request || headers['primus::req::backup'];
  
    writable('id', id);                   // Unique id for socket.
    writable('primus', primus);           // References to Primus.
    writable('remote', address);          // The remote address location.
    writable('headers', headers);         // The request headers.
    writable('request', request);         // Reference to an HTTP request.
    writable('socket', socket);           // Reference to the transformer's socket
    writable('writable', true);           // Silly stream compatibility.
    writable('readable', true);           // Silly stream compatibility.
    writable('queue', []);                // Data queue for data events.
    writable('query', query);             // The query string.
    writable('ultron', new Ultron(this)); // Our event listening cleanup.
    writable('alive', true);              // Flag used to detect zombie sparks.
  
    //
    // Parse our query string.
    //
    if ('string' === typeof this.query) {
      this.query = parse(this.query);
    }
  
    this.__initialise.forEach(function execute(initialise) {
      initialise.call(spark);
    });
  }
docs: The Spark is an indefinable, indescribable energy or soul of a transformer
  which can be used to create new transformers. In our case, it's a simple
  wrapping interface.
  
  @constructor
  @param {Primus} primus Reference to the Primus server. (Set using .bind)
  @param {Object} headers The request headers for this connection.
  @param {Object} address The object that holds the remoteAddress and port.
  @param {Object} query The query string of request.
  @param {String} id An optional id of the socket, or we will generate one.
  @param {Request} request The HTTP Request instance that initialised the spark.
  @param {Mixed} socket Reference to the transformer socket.
  @api public