title: Bokeh: Models must be owned by only a single document
body: <p>I'm working with <a href="http://bokeh.pydata.org" rel="noreferrer">Bokeh</a> 0.12.2 in a Jupyter notebook and it frequently throws exceptions about "Models must be owned by only a single document":</p>
  
  <pre><code>---------------------------------------------------------------------------
  RuntimeError                              Traceback (most recent call last)
  &lt;ipython-input-23-f50ac7abda5e&gt; in &lt;module&gt;()
        2     ea.legend.label_text_font_size = '10pt'
        3 
  ----&gt; 4 show(column([co2, co, nox, o3]))
  
  C:\Users\pokeeffe\AppData\Local\Continuum\Anaconda3\lib\site-packages\bokeh\io.py in show(obj, browser, new, notebook_handle)
      308     '''
      309     if obj not in _state.document.roots:
  --&gt; 310         _state.document.add_root(obj)
      311     return _show_with_state(obj, _state, browser, new, notebook_handle=notebook_handle)
      312 
  
  C:\Users\pokeeffe\AppData\Local\Continuum\Anaconda3\lib\site-packages\bokeh\document.py in add_root(self, model)
      443             self._roots.append(model)
      444         finally:
  --&gt; 445             self._pop_all_models_freeze()
      446         self._trigger_on_change(RootAddedEvent(self, model))
      447 
  
  C:\Users\pokeeffe\AppData\Local\Continuum\Anaconda3\lib\site-packages\bokeh\document.py in _pop_all_models_freeze(self)
      343         self._all_models_freeze_count -= 1
      344         if self._all_models_freeze_count == 0:
  --&gt; 345             self._recompute_all_models()
      346 
      347     def _invalidate_all_models(self):
  
  C:\Users\pokeeffe\AppData\Local\Continuum\Anaconda3\lib\site-packages\bokeh\document.py in _recompute_all_models(self)
      367             d._detach_document()
      368         for a in to_attach:
  --&gt; 369             a._attach_document(self)
      370         self._all_models = recomputed
      371         self._all_models_by_name = recomputed_by_name
  
  C:\Users\pokeeffe\AppData\Local\Continuum\Anaconda3\lib\site-packages\bokeh\model.py in _attach_document(self, doc)
       89         '''This should only be called by the Document implementation to set the document field'''
       90         if self._document is not None and self._document is not doc:
  ---&gt; 91             raise RuntimeError("Models must be owned by only a single document, %r is already in a doc" % (self))
       92         doc.theme.apply_to_model(self)
       93         self._document = doc
  
  RuntimeError: Models must be owned by only a single document, &lt;bokeh.models.tickers.DaysTicker object at 0x00000000042540B8&gt; is already in a doc
  </code></pre>
  
  <p>The trigger is always calling <code>show(...)</code> (although never the first time after kernel start-up, only subsequent calls). </p>
  
  <p>Based on the docs, I thought <code>reset_output()</code> would return my notebook to an operable state but the exception persists. Through trial-and-error, I've determined it's necessary to also re-define everything being passing to <code>show()</code>. That makes interactive work cumbersome and error-prone.</p>
  
  <p>[<a href="http://bokeh.pydata.org/en/latest/docs/reference/io.html#bokeh.io.reset_output" rel="noreferrer">Ref</a>]:</p>
  
  <blockquote>
    <p><strong>reset_output(state=None)</strong></p>
    
    <p>&emsp;&emsp;Clear the default state of all output modes.</p>
    
    <p>&emsp;&emsp;<strong>Returns:</strong>    None</p>
  </blockquote>
  
  <hr>
  
  <ul>
  <li><p>Am I right about <code>reset_output()</code> -- is it supposed to resolve the situation causing this exception?</p></li>
  <li><p>Else, how do I avoid this kind of exception?</p></li>
  </ul>