The idea is to add to NotebookClient a hidden IPython ShellWidget and connect that shell to the VariableExplorer.
For this we need to detect:
- When a kernel is ready to receive commands.
- When a cell has finished execution.
@goanpeca, we need your help for this one :-)