title: OTCore only starts mutliple existing streams instead of 1
body: <p>Sorry for my english dutch native.</p>
  
  <p>I'm using accelerator-core-js to share my screen and publish it to.</p>
  
  <p>Example can be found here <a href="https://github.com/opentok/accelerator-core-js" rel="nofollow noreferrer">https://github.com/opentok/accelerator-core-js</a>.</p>
  
  <p>Tried to implement it but got lost.</p>
  
  <p>When i open a New stream to be published it will publish 2*existing streams.</p>
  
  <p>To give an impression if i have 2 active streams and open a new 1 it will publish 3 new streams.</p>
  
  <p>I supplied some code.</p>
  
  <p>To give an example 
  <a href="https://i.stack.imgur.com/qxA6f.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qxA6f.jpg" alt="enter image description here"></a></p>
  
  <p>Three publish streams are started.
  At least i think three are started that what i make up from the html.</p>
  
  <pre><code>let otCore;
  const otCoreOptions = {
    credentials: {
      apiKey:"" ,
      sessionId: "",
      token: "",
    },
    // A container can either be a query selector or an HTML Element
    streamContainers(pubSub, type, data, streamId) {
      return {
        publisher: {
          camera: '#cameraPublisherContainer',
          screen: '#screenPublisherContainer',
        },
        subscriber: {
          camera: '#cameraSubscriberContainer',
          screen: '#screenSubscriberContainer',
        },
      }[pubSub][type];
    },
    controlsContainer: '#controls',
    packages: ['textChat', 'screenSharing', 'annotation'],
    communication: {
      callProperites: null, // Using default
    },
  
    screenSharing: {
      extensionID: "lalalalalalal",
      annotation: true,
      externalWindow: false,
      dev: true,
      screenProperties: {
        insertMode: 'append',
        width: '100%',
        height: '100%',
        showControls: false,
        style: {
          buttonDisplayMode: 'off',
        },
        videoSource: 'window',
        fitMode: 'contain' // Using default
      },
    },
    annotation: {
      absoluteParent: {
        publisher: '.App-video-container',
      }
    },
  };
  
  ....
  
   render() {
      const { connected, active } = this.state;
      const {
        localAudioClass,
        localVideoClass,
        localCallClass,
        controlClass,
        cameraPublisherClass,
        screenPublisherClass,
        cameraSubscriberClass,
        screenSubscriberClass,
      } = containerClasses(this.state);
  
      return (
        &lt;div className="App"&gt;
          &lt;div className="App-header"&gt;
            &lt;h1&gt;OpenTok Accelerator Core&lt;/h1&gt;
          &lt;/div&gt;
          &lt;div className="App-main"&gt;
            &lt;div className="App-video-container"&gt;
              { !connected &amp;&amp; connectingMask() }
              { connected &amp;&amp; !active &amp;&amp; startCallMask(this.startCall)}
              &lt;div id="cameraPublisherContainer" className={cameraPublisherClass} /&gt;
              &lt;div id="screenPublisherContainer" className={screenPublisherClass} /&gt;
              &lt;div id="cameraSubscriberContainer" className={cameraSubscriberClass} /&gt;
              &lt;div id="screenSubscriberContainer" className={screenSubscriberClass} /&gt;
            &lt;/div&gt;
            &lt;div id="controls" className={controlClass}&gt;
              &lt;div className={localAudioClass} onClick={this.toggleLocalAudio} /&gt;
              &lt;div className={localVideoClass} onClick={this.toggleLocalVideo} /&gt;
              &lt;div className={localCallClass} onClick={this.endCall} /&gt;
            &lt;/div&gt;
            &lt;div id="chat" className="App-chat-container" /&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      );
    }
  </code></pre>