Also, it looks like `PlotObject.session` is a problem, because first we have to make sure that all objects get this field filled in, then `PlotObject._build_static_embed_snippet` calls `embed_js()`, so this asks for a big cleanup. However, I wouldn't be concerned with this in this PR.