   setLevelsWorkspace: (workspace) ->
     levelsWorkspaceManager.attachWorkspace workspace
     workspace.onDidEnterWorkspace => @handleWorkspaceEntered()
-    workspace.onDidEnterWorkspace => @handleLevelChanged()
     workspace.onDidExitWorkspace => @handleWorkspaceExited()
 
-    if levelsWorkspaceManager.getActiveLevelCodeEditor()?
-      @handleWorkspaceEntered()
-    @handleLevelChanged()
+    @handleWorkspaceEntered()
+    return
 
   startDebugging: ->
     if @saveDocument() && !@isExecutableInDebuggingMode

    return

  handleWorkspaceEntered: ->
    levelsWorkspaceManager.getWorkspace().getActiveLevelCodeEditor().onDidStartExecution => @handleExecutableStarted()
    levelsWorkspaceManager.getWorkspace().getActiveLevelCodeEditor().onDidStopExecution => @handleExecutableStopped()
    levelsWorkspaceManager.getWorkspace().onDidChangeActiveLevel => @handleLevelChanged()
    return


    @emitter.emit 'stopped'
    return

  emitPositionUpdated: (positionString, isReplay) ->
    splitted = positionString.split MessageUtils.getDelimiter()
    currentPosition = new Position +splitted[1], +splitted[2]

